我是靠谱客的博主 机灵冷风,最近开发中收集的这篇文章主要介绍倒计数锁存器 Countdown Latch 《Effective Java》摘抄,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

倒计数锁存器是一次性的障碍,允许一个或多个线程等待一个或多个其他线程来做某些事情。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》摘抄所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部