Java 多线程控制 CountDownLatch
2014-11-27 14:11
465 查看
多线程开发过程中,可能会有一些需求如这样:需要在一定数量线程启动后,做一些其他的操作。那么利用CountDownLatch再方便不过了。不多说上代码:
package thread; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class CountDownLatchTest implements Runnable { private int i; private CountDownLatch countDownLatch; public CountDownLatchTest(CountDownLatch count, int i) { this.countDownLatch = count; this.i = i; } public void run() { int count = 5; while (count > 0) { try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } count--; } this.countDownLatch.countDown(); System.out.println("I am " + this.i); } public static void main(String[] args) throws InterruptedException { CountDownLatch countDownLatch = new CountDownLatch(10); ExecutorService threadpool = Executors.newCachedThreadPool(); for (int i = 0; i < 20; i++) { CountDownLatchTest test = new CountDownLatchTest(countDownLatch, i); threadpool.submit(test); } countDownLatch.await(); System.out.println("Now, Let's go! Do others!!!"); threadpool.shutdown(); } }
相关文章推荐
- 【java】多线程控制(一)---Semaphore、Exchanger、CyclicBarrier、CountDownLatch
- java多线程控制,很不错。
- 实现 Java 多线程并发控制框架
- 实现 Java 多线程并发控制框架
- Java:多线程,CountDownLatch同步器
- Java多线程(二)、线程的生命周期和状态控制
- 实现 Java 多线程并发控制框架
- java控制多线程执行顺序
- java中结合单例模式,控制单例类的某方法在被多线程调用时,只被1个线程调用执行,执行完毕后才被另一线程调用
- java多线程-用对象锁的方式控制线程同步
- 实现 Java 多线程并发控制框架
- 实现 Java 多线程并发控制框架--转载
- 【java多线程与并发库】---传统java多线程<5> 线程控制
- java中结合单例模式,控制单例类的某方法在被多线程调用时,只被1个线程调用执行,执行完毕后才被另一线程调用
- java多线程并发控制之锁
- Java 多线程并发控制框架
- JAVA多线程的控制JAVA 5.0--Executor
- 【java多线程与并发库】---传统java多线程<5> 线程控制
- 实现 Java 多线程并发控制框架
- java控制多线程执行顺序