2014-01-28 29 views
0

由于并行程序在不同的代码块中可能需要不同级别的并行性(例如线程数),是否有办法动态地改变pthread中的线程数以始终保持最佳并行性在程序执行期间?动态改变pthread中的线程数

我们可能会将不必要的线索放入睡眠中,但这样做会引发问题。首先,需要改变障碍来同步不同数量的线程。其次,一些并行程序在初始化期间将数据分配给各个线程。数据分发也需要使用动态线程号进行更改。

任何想法或建议吗? 谢谢!

回答

0

我能想到的最好方法是始终尝试使用池线程或应用程序生存线程。

那些必须为应用程序的生命运行的任务开始一次,并且永远不会终止。

所有其他任务排队等待线程轮询,该线程轮询足够大,以至于任何任务在核心空闲时都不会排队。