如何随意选择最佳线程数

时间:2011-11-30 03:33:56

标签: multithreading pthreads cpu-cores

有没有办法从程序中选择最佳线程数?例如,如果我在双核机器上运行我的程序,它将使用2个线程,在6核心机器上,它将在6个线程上运行,等等?

我不知道是否有一个pthreads调用来查看该程序运行的内核数量,但我甚至考虑了以下内容:

在程序开始时,运行for循环(可能是1000次迭代)并计时。然后用2个线程运行它,这应该(可能)大约快两倍。继续这个过程,直到没有明显的加速。这是要使用的最佳线程数。

显然这是浪费时间(必须多次循环)并且它不会总是给你使用最大数量的线程,但这只是一个想法。还有其他方法吗?

0 个答案:

没有答案