2009-06-03 30 views
3

我的多线程代码中有很多自旋锁,大部分时间他们都在等待其他线程工作,因此咀嚼了很多cpu使用情况。在linux中,我通常使用pthread_cond_wait和pthread_cond_signal来暂停一个线程并在发送信号时唤醒。在boost库中是否有这样的东西?快速查看我找不到任何东西。用信号取代自旋锁

Visual Studio 2005中

回答

1

你正在寻找一个互斥锁或信号量。 Boost库支持Mutex and Semaphore

互斥锁是一个二进制信号量,它被简单地认为是锁,只允许一个线程通过您的critical section

计数semaphores可以帮助简化锁(Mutex)过于严格的某些情况。

+0

Nupe,我是在一个条件变量 – Lodle 2009-06-03 06:12:56