2012-05-10 172 views
1

增強是否有某種方式使消息傳遞跨多個線程?消息傳遞與boost :: threads?

我正在處理服務器應用程序,我希望能夠以安全的方式在整個應用程序中傳遞消息。

感謝

回答

3

您也可以爲此使用Boost.Asio:在一個線程中運行io_service,並從另一個線程調用io_service_.post(yourFunctor)。

2

boost::thread提供您所需的工具,並沒有應該讓你開始,一個樣本隊列實現here

這也給了我另一個機會來插上這本書。

C++併發行動是一個參考和指導,以新的C++ 11 標準爲有經驗的C++程序員,以及那些誰 從來沒寫過的多線程代碼。本書將向您展示如何在C++中編寫 健壯的多線程應用程序,同時避免許多常見的缺陷。

如果您正在使用Windows Visual C++ 10在Concurrency Runtime中有一些專有工具可用於此處。 VC11擴展了這一點。

+1

它已經發布。 http://www.amazon.com/C-Concurrency-Action-Practical-Multithreading/dp/1933988770 –

+0

謝謝@Jerry,關於時間太:-) –

+0

+1爲我正在尋找。我在鏈接的文章中評論過,但是我想我也會在這裏發表評論:爲了使用'unique_ptr'隊列在C++ 11中完成這項工作,我添加了'push'的右值引用超載,在這裏評論)。看起來沒錯,還有其他需要的東西? –