12个版本 (重大变更)
0.9.3 | 2022年12月22日 |
---|---|
0.9.2 | 2022年6月1日 |
0.9.1 | 2022年3月16日 |
#974 在 并发 中
每月 26次下载
用于 dirinventory
23KB
486 行
描述
具有一些特殊功能的多生产者多消费者优先队列。
允许线程按优先级顺序发送和接收消息。
当一个线程正在处理一个消息时,可以由一个保护器保护接收到的消息,这可以保持队列非空状态,线程可以向队列发送新消息以供处理。一旦队列变为空并且所有保护器都释放,将生成一个单独的'Drained'消息来通知(一个或多个)接收器不再有数据可期待。
当性能比精确的优先级顺序更重要时,线程可以保留一个'stash'来临时存储要发送的消息。当队列竞争时,消息将放在这个stash中。一旦线程获取到队列的锁,stash将被移动到队列中。
依赖
~0.4–6MB
~11K SLoC