2011-10-14 29 views
1

我有一個設計問題,不知道如何去做。基本上我有一個應用程序,爲每個任務生成一個單獨的線程。在這個線程中,任務顯示一個字符串輸出。現在,我可以同時運行大約100個任務。我需要以某種方式整合來自這些線程的字符串輸出並將它們放入一個存儲庫。我的想法是使用文件。有沒有人有更好的想法呢?將線程輸出集成到一個存儲庫中

謝謝

+0

C++沒有 「線程」,除非你是C++ 11。因此,請使用C++ 11或特定平臺(Windows,Linux,POSIX ...)標記此問題,因爲可用的選項取決於它。 – Nemo

+0

我刪除了C++,因爲它更像是一個設計問題,而不是語言特定的問題。謝謝 – michelle

回答

1

通過推送唯一的項目(例如,malloc字符串,加載它,推送並立即malloc一個新的下一個加載)序列化寫入生產者 - 消費者隊列。一個線程彈出項目,將它們寫入存儲庫,然後釋放/釋放/釋放/任何字符串。

RGDS, 馬丁

1

你可以有一個線程管理從工作線程的輸出到存儲庫中的「上傳」(或其他)。這可以使用同步隊列或某種列表來實現。工作人員將輸出切換到隊列並開始工作(或終止)。

相關問題