Possible Duplicate:
How many threads is too many?
我有一个大for
循环,我希望将每个项目传递给线程上的函数。我有一个一定大小的线程池,我想重用线程。最有效的方法是什么?
线程池最有效的大小是多少?或者至少解决这个问题的最佳方法是什么?
pthread_t thread_id[10];
int i;
for(i = 0; i < 10000000; i++) {
pthread_create(thread_id[?], NULL, threadFunc, params[i]);
}
最佳答案
线程太少意味着浪费性能机会,太多线程会浪费每个线程消耗的资源,并且会因线程之间的争用而降低性能。我会使用测量值来看看什么数字效果最好。只是好奇,您是否有理由希望每次迭代都是一个新线程?
关于C线程池效率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6024037/