我正處於開發的設計階段,正在考慮在C++中使用多線程來實現某些功能。我熟悉多線程的基礎知識,但想讓別人接受我的想法。我還沒有選擇多線程庫(傾向於Boost),但我的問題可能與所選庫無關。Basic C++多線程
基本上我將有一個類(讓我們稱之爲CommandGenerator),其在一個while循環執行(直到終止),並檢查由另一個軟件填充命令的消息隊列。每次CommandGenerator從隊列中獲取消息時,我都希望它生成一個在後臺執行的線程,並處理剛剛從隊列中取出的數據。同時,我希望CommandGenerator繼續運行並再次繞過while循環,並拉取所有新消息並再次產生更多線程。這在概念上是可能的嗎?我可以繼續產卵線程,讓它們在後臺運行直到它們完成,而代碼繼續循環並檢查隊列嗎? CommandGenerator不需要控制線程。他們一旦創建就可以獨立執行,並保證終止,但可能需要一分鐘才能完成執行(它們在執行之前等待消息中指定的一定時間從隊列中拉出)。
任何輸入表示讚賞。
我建議你使用內置的C++ 11的'threading'模塊。 – Elazar 2013-04-25 12:53:36
C++在其標準庫中包含線程支持。請參閱''標題。 –
2013-04-25 12:54:40
您是否熟悉生產者 - 消費者或線程池模式等多線程概念? – 2013-04-25 12:55:08