2014-01-28 27 views
0

由於並行程序在不同的代碼塊中可能需要不同級別的並行性(例如線程數),是否有辦法動態地改變pthread中的線程數以始終保持最佳並行性在程序執行期間?動態改變pthread中的線程數

我們可能會將不必要的線索放入睡眠中,但這樣做會引發問題。首先,需要改變障礙來同步不同數量的線程。其次,一些並行程序在初始化期間將數據分配給各個線程。數據分發也需要使用動態線程號進行更改。

任何想法或建議嗎? 謝謝!

回答

0

我能想到的最好方法是始終嘗試使用池線程或應用程序生存線程。

那些必須爲應用程序的生命運行的任務開始一次,並且永遠不會終止。

所有其他任務排隊等待線程輪詢,該線程輪詢足夠大,以至於任何任務在覈心空閒時都不會排隊。