MPMCQueue.NET 有界的多个生产者,多个消费者排队等待.NET 总览 这是尝试将到.NET。 所有的功劳归于德米特里·维尤科夫(Dmitry Vyukov)。 我让自己引用一下描述: 根据分类,它是基于阵列的MPMC,在溢出时失败,不需要GC,无优先级,因果FIFO,阻塞生产者和使用者队列。 该算法非常简单快捷。 从官方意义上讲,它不是无锁的,只是通过无互斥量的原子RMW操作实现的。 入队/出队的成本为每项操作1 CAS。 没有摊销,只有1个CAS。 操作期间无动态内存分配/管理。 生产者和使用者是彼此分开的(如在两锁队列中),即在队列不为空时不要触摸相同的数据。 实作 队列类