2014-03-05 159 views
3

假設我們在Linux(C++)上,並使用一些線程庫來啓動線程,我不知道它是什麼庫。現在我需要使用互斥鎖。我是否可以在某處使用互斥鎖(例如,boost :: thread,std :: thread,tbb),或者我必須使用由啓動線程的相同庫提供的互斥鎖類?無論線程庫如何,我們可以使用Mutex類嗎?

我知道最好是使用來自同一個庫的互斥鎖。但只是好奇......尤其是,如果我們假設所討論的所有這些庫都使用pthread作爲底層線程庫呢?

+1

我建議留在一個圖書館。提升或標準。混合起來根本沒有任何意義。 – Paranaix

+0

堅持一個圖書館。大多數情況下,無論是提升,stl還是別的東西都是偏好...... – AJG85

回答

3

你並不需要從某種意義上說,你可以做到這一點,世界將不會結束。然而,啓動線程的庫可能會假設一個給你的互斥體沒有提供的東西,那裏的東西肯定會出錯。

我懷疑一個線程庫提供了線程抽象,而不是互斥量,所以只使用一個庫。沒有真正需要混合的東西了。

相關問題