我的多线程代码中有很多自旋锁,大多数时候它们都在等待其他线程完成工作,从而消耗大量的 CPU 使用率。在Linux中,我通常使用pthread_cond_wait和pthread_cond_signal来暂停线程并在收到信号时唤醒。boost库中有类似的东西吗?快速浏览了一下,我找不到任何东西。

视觉工作室2005

有帮助吗?

其他提示

您正在寻找一个互斥锁或信号量。 Boost库确实有互斥和信号量支持。

一个互斥是一个二进制信号,这是简单地看作是一个锁,只允许一个线程去通过你的临界部分

信号灯可以帮助简化某些情况下一个锁(互斥)是过于严格。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top