那麼我一直在環顧四周,我不確定爲什麼會發生這種情況。我見過很多與在Linux上使用線程有關的Tuts,但我現在正在分享的內容並不多。C++中的同時線程使用<thread>
代碼:
int j = 0;
while(j <= 10)
{
myThreads[j] = std::thread(task, j);
myThreads[j].join();
j+=1;
}
所以我只是想創建10個線程,並執行它們。 這個任務非常簡單,處理得相當好,但問題在於不是整個線程正在執行。
它實際上只執行1個線程,它在等待它完成,然後執行另外一個等...
PS:我知道,主要功能將退出啓動這些線程,但我之後閱讀關於這一點,我相信我可以用多種方式解決它。
所以我想同時執行所有這些線程,就是這樣。
非常感謝, MarioAda。
您正在重複啓動一個,然後等待它完成(加入)。你如何期望並行運行多於兩個線程? –
旁註:您實際上正在創建11個線程0..10 –
將其設置爲12,因爲每個進程至少有一個線程。 ;) –