首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

关于java多线程解决方案

2013-01-23 
关于java多线程各位大神,我现在写了一个程序,使用多线程实现的,现在遇到这样的问题,如果我单步执行,它可以

关于java多线程
各位大神,我现在写了一个程序,使用多线程实现的,现在遇到这样的问题,如果我单步执行,它可以正确执行。但是让他直接运行的话,就卡住了,请大家看看怎么弄。相关代码如下:
while(true){
for(int i=0;i<itemList.size();++i){
Ping iPing=new Ping(itemList.get(i),ipList.get(i),isWarningList.get(i),timeoutList.get(i));
pings.add(iPing);
new Thread(iPing).start();
}

try {
Thread.sleep(1000*interval-System.currentTimeMillis()+timeBefore);
} catch (Exception e) {
// TODO: handle exception
}
。。。。。。。。。。。。。。。。。。。。。。。。

[解决办法]
线程起的太多了吧。。。

for(int i=0;i<itemList.size();++i){
Ping iPing=new Ping(itemList.get(i),ipList.get(i),isWarningList.get(i),timeoutList.get(i));
pings.add(iPing);
//每起一个线程,sleep一会,看看效果
new Thread(iPing).start();
}

try {
Thread.sleep(1000*interval-System.currentTimeMillis()+timeBefore);//这里先换成常量看看。
} catch (Exception e) {
// TODO: handle exception
}

热点排行