请问怎么知道一组线程已经执行完了? 可以使用notify和wait(需要计数),但是某些场合下,会发生不能notify的情况,结果导致死锁,最后还是采用了你现在的方法,但就是不能很好的同步。或是可以采用线程去减计数(调用一个减计数器的方法,但该方法需要同步),当计数为0,则notify,我想就没有问题了。当时,我的需要没有要求同步,所以自己就没再试了,你可以试一试。我觉得wati/notify可以很好的解决这个问题。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你可以让一个线程A独立于这组线程(100个)运行!并让这个线程等待!在这组线程结束时,点用A的nodify()方法,A运行,计数器加一,如果值小于100,继续等待。当这组线程全部执行完毕,计数器值为100,A线程就可以执行其他操作了class A implements Runnable{ public void run() { while(index<100) { .... wait(); ..... index++; } // Do Any Thing }} join需要一个一个等待吧,和单线程比有什么优势吗? 不一定是一个一个等待,只是start方法在join方法之后的才等待前面线程的结束例如:test1.start()test2.start()test1.join()test3.start()test3等待test2不等待 各位大哥,join()方法到底是干什么用的,有什么功能 我的TCP编程怎么在eclipse里无法进行相互发送信息 高手帮改下 急!!!! 泛型 评价一下<java2 入门经典>这本书,我正想........ 为什么输出是"空"(null) 多线程问题 Swing界面无法正常显示 简单问题? 急! setIcon(new ImageIcon("1.bmp"))不加载图像,求助 在现等待,,,高手回答小问题。。。 java1.2以上版本中是否有功能强大的柱形图,饼图,线形图生成组件?高分相赠! 请教java中超类的概念 在java中怎样得到现在是时间戳转换成正型
在这组线程结束时,点用A的nodify()方法,A运行,计数器加一,如果
值小于100,继续等待。当这组线程全部执行完毕,计数器值为100,
A线程就可以执行其他操作了
class A implements Runnable
{
public void run()
{
while(index<100)
{
....
wait();
.....
index++;
}
// Do Any Thing
}
}
例如:
test1.start()
test2.start()
test1.join()
test3.start()
test3等待
test2不等待