【发布时间】:2015-08-07 19:21:04
【问题描述】:
感谢您的帮助。我有一个由并发队列链接的三线程进程。线程一处理信息,返回到第二个线程,第二个线程将数据放入并发队列。第三个线程只是像这样循环:
while (true) {
if(queue.TryDequeue(out info)) {
doStuff(info);
} else {
Thread.Sleep(1);
}
}
有没有更好的方法来处理它,这样我就不会过多地遍历循环?该应用程序对性能极为敏感,目前只有 TryDequeue 占用了应用程序运行时间的约 8-9%。希望尽可能减少这种情况,但不确定我的选择是什么。
【问题讨论】:
标签: c# multithreading concurrency