多线程信号量计数CountDownLatch

定义

通过这个类可以记录当前线程个数。

全称

import java.util.concurrent.CountDownLatch;

实例

主线程
CountDownLatch threadSignal = new CountDownLatch(Common.PARTPOINT);
for(int i=0; i < Common.PARTPOINT; i++){
P2PointThread ppt = new P2PointThread(threadSignal, i);
ppt.start();
}
try {
logger.debug("开始等待");
threadSignal.await(5000, TimeUnit.SECONDS); //当信号量为0时,主线程才可以继续执行,否则一直等待
logger.debug("结束等待");
} catch (InterruptedException e) {
e.printStackTrace();
}
工作线程

  当工作线程执行结束时,加入threadSignal.countDown();//一定要放在run方法的最后一行。



posted on 2012-03-12 19:33  亭子  阅读(297)  评论(0编辑  收藏  举报

导航