多线程与cpu利用率的问题

运行环境:
windows2003 64bit, 2g 4核 intel至强cpu, 4G内存
jdk1.5, Jboss 4.2.2
MySql 5
使用了struts, spring, hibernate
任务说明:
使用jdk1.5 的concurrent包创建线程池调度程序, 调度400多个Runnalbe对象, 每10分钟执行一遍400个任务,每个任务在多线程运行的情况下大概需要1分钟才能完成。如果只执行一个任务,用不了1秒钟。

代码片段:
//==============================================================
//myTaskThread -- 任务类
public class myTaskThread implements Runnable{

public void run() {
// 执行任务
。。。
}
}
//====================================================
public class TargetExecutor {
//线程池大小设置
private int poolSize = 10;
private Executor executor; //声明一个执行器

private final Logger log = Logger.getLogger(TargetExecutor.class);
public void init(){
//初始设置线程池大小
executor = Executors.newFixedThreadPool(poolSize); }
//executeTasks()每10分钟执行一次
public void executeTasks() {
//系统启动时把400多个myTaskThread对象存入这个set中
Set taskSet = getTargetThreadSet();
Iterator it = targetSet.iterator();

while(it.hasNext()){
MyTaskThread thread = (MyTaskThread) it.next();
executor.execute(thread);
}
}
}
//====================================================


问题: 尽管任务很多,每个任务耗时也比较长,但是cpu的利用率只有1~2%, 我把线程池的大小调到50, 100, 200都不能提高CPU的利用率。

请问怎样提高jvm的cpu的利用率
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值