我必须实现一个消费者的一个生产者标准算法.我可以轻松地使用Queue几个lock语句来实现它.或者我可以使用ConcurrentQueue.什么是更好的?
如果Queue + lock使用然后我可以优化"多次加/退",因为我可以lock一次又Add多次.
一般情况下更快 - ConcurrentQueue或者Queue + lock差异有多大?当然ConcurrentQueue是最直接的方式,但我不想放弃很多性能,因为我在HFT交易应用程序中使用它.
Rot*_*tem 21
并发堆栈,队列和包类在内部使用链接列表实现.这使得它们比非并发
Stack和Queue类更低的内存效率,但更好地用于并发访问,因为链表有利于无锁或低锁实现.
换句话说,很难定义一般情况,更不用说预测性能的差异.
这取决于集合的大小和用法.如果足够的并发访问可以预期性能会更好,内存消耗会更差.
| 归档时间: |
|
| 查看次数: |
11308 次 |
| 最近记录: |