2010-03-08 58 views
6

我需要一個快速線程間通信機制,用於將工作(void*)從TBB任務傳遞給正在運行/阻塞操作的多個工作人員。 目前我正在研究使用pipe() + libevent。英特爾線程構建模塊使用更快更優雅的替代方案嗎?快速線程間通信機制

+0

全局變量? – kennytm 2010-03-08 14:07:29

回答

6

因爲線程共享相同的內存空間,所以您應該只能使用標準內存和互斥鎖。 pipe()+ libevent解決方案似乎更適合進程間通信,其中每個進程具有不同的內存空間。

+1

感謝您的回覆。我想我會使用concurrent_bounded_queue :) – Stan 2010-03-08 17:54:00

2

結賬Implementing a Thread-Safe Queue using Condition Variables。它使用STL隊列,互斥量和條件變量來促進線程間通信。 (我不知道這是否適用於英特爾線程構建模塊,但由於在問題/標題中沒有提及TBB,我假設其他人會像我一樣在這裏結束 - 尋找一種線程間通信機制,即而不是IPC,這篇文章可能會對他們有所幫助,就像它對我的幫助一樣。)