[多线程]闭锁 通过闭锁CountDownLatch计算多线程下任务的执行时间
来源:互联网 发布:网络黑彩app 编辑:程序博客网 时间:2024/05/19 06:47
闭锁是一种同步工具类,可以延迟线程的进度直到其达到终止状态。
程序中有两个CountDownLatch, startGate为启动门,用于控制所有的线程都启动后才开始同时执行。 endGate为终止门,用于控制所有的线程都执行结束才终止计时。
/** * 闭锁 * @param nThreads, 线程数 * @param task * @return */public long timeTasks(int nThreads, final Runnable task) throws InterruptedException {final CountDownLatch startGate = new CountDownLatch(1);final CountDownLatch endGate = new CountDownLatch(nThreads);for(int i=0;i<nThreads;i++) {Thread t = new Thread() {@Overridepublic void run() {try {startGate.await();try {task.run();} finally {endGate.countDown();}} catch (InterruptedException e) {e.printStackTrace();}}};t.start();}long startTime = System.currentTimeMillis();startGate.countDown();endGate.await();long endTime = System.currentTimeMillis();return endTime - startTime;}
0 0
- [多线程]闭锁 通过闭锁CountDownLatch计算多线程下任务的执行时间
- java多线程十二 闭锁CountDownLatch
- 闭锁CountDownLatch的用法
- java多线程并发---闭锁
- 闭锁CountDownLatch
- CountDownLatch 闭锁
- 闭锁 CountDownLatch
- 闭锁 CountDownLatch
- CountDownLatch闭锁
- 闭锁CountDownLatch的简单实现
- 通过闭锁方式实现多线程同时并发测试
- 闭锁CountDownLatch的源码实现介绍
- java CountDownLatch(闭锁)
- 20.CountDownLatch闭锁
- java多线程之闭锁(CountDownLatch)、同步屏幕(CyclicBarrier)、信号量(Semaphore)
- 【多线程_并发工具】 闭锁-CountDownLacth
- 闭锁CountDownLatch与栅栏CyclicBarrier
- 闭锁CountDownLatch与栅栏CyclicBarrier
- QTWebEngine的使用
- 错排公式
- HashMap和Hashtable的区别
- 使用PMD进行代码审查
- PAT BASIC 1021 个位数统计
- [多线程]闭锁 通过闭锁CountDownLatch计算多线程下任务的执行时间
- Open CV + VS配置的四步走
- ubuntu右键在当前位置打开终端
- 源码阅读应该得到什么?
- (转)【Android Studio快捷键】之代码提示
- Android中Intent传递 对象 的两种方法(Serializable,Parcelable) .
- Java集合类框架学习 1 —— 概述与基础
- repo
- Java 知识点