学习理解CountDownLatch
来源:互联网 发布:詹姆斯和科比知乎 编辑:程序博客网 时间:2024/05/19 02:02
package testBy20170925;import java.text.SimpleDateFormat;import java.util.Date;import java.util.concurrent.*;/** * Created by yujiahuan on 2017/9/22. */public class TestNewFixPool { static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); public static String getDateStr() { String ret = sdf.format(new Date()); return ret; } ExecutorService executorService = new ThreadPoolExecutor(5, 5, 5, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>()); /** */ public void submit(CountDownLatch latch) { executorService.execute(new LoggingDto(latch)); } /** */ private class LoggingDto implements Runnable { private CountDownLatch latch; public LoggingDto(CountDownLatch latch) { this.latch = latch; } @Override public void run() { try { System.out.println(getDateStr() + "start" + Thread.currentThread().getName()); Thread.sleep(1000); latch.countDown(); System.out.println(getDateStr() + "end" + Thread.currentThread().getName()); } catch (Exception e) { System.out.println(e); } } } public static void main(String arg[]) throws InterruptedException, BrokenBarrierException { CountDownLatch latch = new CountDownLatch(10); TestNewFixPool testNewFixPool = new TestNewFixPool(); long start = System.currentTimeMillis(); for (int i = 0; i < 10; i++) { testNewFixPool.submit(latch); } latch.await(); System.out.println(getDateStr() + " usetime:" + (System.currentTimeMillis() - start)); }}
学习理解CountDownLatch
阅读全文
0 0
- 学习理解CountDownLatch
- 深入学习理解java:CountDownLatch详解
- CountDownLatch学习
- CountDownLatch学习
- 学习CountDownLatch
- CountDownLatch 的理解
- CountDownLatch源码的理解
- synchronized,CountDownLatch理解
- CountDownLatch的简单理解
- Semaphore, CountDownLatch,CyclicBarrier 简单理解
- 理解concurrent包中的CountDownLatch
- CountDownLatch 自己的一点理解
- 深入理解 CyclicBarrier和CountDownLatch
- CountDownLatch学习笔记
- CountDownLatch学习笔记
- java并发学习----CountDownLatch
- JDK学习-CountDownLatch/CyclicBarrier
- Java多线程之CountDownLatch学习
- BOM--window对象
- 用递归打印数字-LintCode
- redis-lua脚本
- Android 测试存储设备的读写速度
- MySQL数据库优化总结
- 学习理解CountDownLatch
- 网页弹框插件bootbox
- iOS 11 与 iPhone X的适配那些事
- AT+CNMI的使用
- h5常见问题
- 【Codeforces257E】Greedy Elevator
- 接口开发
- Java学习笔记(30)--抽象类 详解
- 表单重复提交