有人可以建议好的CircularBuffer实现吗?我需要“非线程安全”和“线程安全”版本。我希望以下操作:
我希望在速度和使用内存,平均时间和最差时间等方面对实施进行高度优化。
我希望“非线程安全”实现非常快。我希望“线程安全”实现很快,可能使用“无锁代码”进行同步,如果速度需要,可以有一些限制。
如果缓冲区太小而无法存储新的(添加的)元素,则可以静默覆盖现有元素或引发异常。
我应该使用disruptor.net吗?
添加指向好示例Disruptor.NET example
的链接答案 0 :(得分:-4)
不是线程安全的:
System.Collections.Generic.Queue
线程安全:
System.Collections.Concurrent.ConcurrentQueue
或
System.Collections.Concurrent.BlockingCollection(默认情况下在内部使用并发队列)
Although technically you really shouldn't use the term "thread safe".这太模糊了。第一个不是设计为由多个线程同时使用,其余的是。