博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CountDownLatch 多线程使用示例
阅读量:6819 次
发布时间:2019-06-26

本文共 1191 字,大约阅读时间需要 3 分钟。

  hot3.png

场景描述:

模拟10个线程,并发执行,最后汇总结果

代码:

package com.jf.service.market.impl;import java.util.concurrent.CountDownLatch;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class CountDownLatchTest {	   public static void main(String[] args) {	    int num = 10;	    long time = System.currentTimeMillis();	    ExecutorService cachedThreadPool = Executors.newCachedThreadPool();		final CountDownLatch latch = new CountDownLatch(num);		for (int i = 0; i < 10; i++) {			cachedThreadPool.execute(new Runnable() {				public void run() {					try {						Thread.sleep(1000);					} catch (InterruptedException e) {						e.printStackTrace();					}					System.out.println(" End=== Thread:"+Thread.currentThread().getId()); 					latch.countDown();				}			});		}		try {			latch.await();		} catch (InterruptedException e) {			e.printStackTrace();		}		System.out.println("总共耗时:" + (System.currentTimeMillis()-time));		cachedThreadPool.shutdown();    }}

 

结果展示:

 End=== Thread:10

 End=== Thread:15
 End=== Thread:17
 End=== Thread:16
 End=== Thread:14
 End=== Thread:13
 End=== Thread:12
 End=== Thread:9
 End=== Thread:11
 End=== Thread:18
总共耗时:1008

 

 

转载于:https://my.oschina.net/jspp/blog/1560582

你可能感兴趣的文章