概述
倒计数锁存器是一次性的障碍,允许一个或多个线程等待一个或多个其他线程来做某些事情。CountDownLatch的唯一构造器带有一个 int类型的参数,这个参数是指允许所有在等待的线程被处理之前,必须在锁存器上调用countDown方法的次数。
//多个任务执行时间计时
public static long time(Executor executor,int concurrency,final Runnable action) throws InterruptedException {
final CountDownLatch ready = new CountDownLatch(concurrency);
final CountDownLatch start = new CountDownLatch(1);
final CountDownLatch done = new CountDownLatch(concurrency);
for (int i = 0;i<concurrency;i++){
executor.execute(new Runnable() {
@Override
public void run() {
ready.countDown();
try {
start.await();
action.run();
}catch (InterruptedException e){
Thread.currentThread().interrupt();
}finally {
done.countDown();
}
}
});
}
ready.await();
long startNanos = System.nanoTime();
start.countDown();
done.await();
return System.nanoTime()-startNanos;
}
最后
以上就是机灵冷风为你收集整理的倒计数锁存器 Countdown Latch 《Effective Java》摘抄的全部内容,希望文章能够帮你解决倒计数锁存器 Countdown Latch 《Effective Java》摘抄所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复