先上个程序的伪代码:
main{
for(int i=min;i<=max;i++){
Worker worker=new Worker(i)
if(worker.getresult()){
//do something
} else {
//do something
}
}
}
class Worker{
public Worker(int i){...}
public static bool getresult(){...}
}
程序大概就是这个意思,i不断增加,不断调用worker.getresult获得一个bool(getresult要进行大量运算)我看cpu才使用了14%,我是想要提高CPU利用率,增快程序运行
这样的一个程序可以改成多线程的吗?最好能用满CPU的八个核心。
是每一个Worker当作一个线程吗?每一个不同的i,getresult用的时长不一样,怎么处理?
我从没研究过多线程编程,求大神教我啊
main{
for(int i=min;i<=max;i++){
Worker worker=new Worker(i)
if(worker.getresult()){
//do something
} else {
//do something
}
}
}
class Worker{
public Worker(int i){...}
public static bool getresult(){...}
}
程序大概就是这个意思,i不断增加,不断调用worker.getresult获得一个bool(getresult要进行大量运算)我看cpu才使用了14%,我是想要提高CPU利用率,增快程序运行
这样的一个程序可以改成多线程的吗?最好能用满CPU的八个核心。
是每一个Worker当作一个线程吗?每一个不同的i,getresult用的时长不一样,怎么处理?
我从没研究过多线程编程,求大神教我啊
