我正在为密集型网络应用程序实现无锁单生成器单个使用者队列.我有一堆工作线程在他们自己的队列中接收工作,然后他们出列并处理.
从这些队列中删除锁已经大大提高了高负载下的性能,但是当队列为空时它们不再阻塞,这反过来导致CPU使用率急剧上升.
如何有效地导致线程阻塞,直到它成功出列或被杀/中断为止?
c linux blocking lock-free
blocking ×1
c ×1
linux ×1
lock-free ×1