2009-06-03 46 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