CountDownLatch 使用详解

CountDownLatch下面例子比较简单

import java.util.concurrent.CountDownLatch;

public class CountDownLatchTest {
   
    static class SimpleThread extends Thread {

        private CountDownLatch latch;

        public SimpleThread(CountDownLatch latch){
            this.latch = latch;
        }
       
        @Override
        public void run() {
            System.out.println(this + " RUNNING.");
            latch.countDown();
        }
       
    }

    public static void main(String[] args) throws InterruptedException {
        CountDownLatch latch = new CountDownLatch(5);
       
        for(int i=0; i<5; i++) {
            new SimpleThread(latch).start();
        }
       
        //等待所有子线程处理完成。
        latch.await();
        System.out.println("Over");
    }
}

运行结果:
Thread[Thread-2,5,main] RUNNING.
Thread[Thread-0,5,main] RUNNING.
Thread[Thread-1,5,main] RUNNING.
Thread[Thread-4,5,main] RUNNING.
Thread[Thread-3,5,main] RUNNING.
Over



参考:http://space.itpub.net/10742815/viewspace-611904
http://ideasforjava.iteye.com/blog/657295
http://kill8108.blog.163.com/blog/static/434199682010029102857607/

http://www.blogjava.net/vincent/archive/2007/09/28/149175.html


另外参考
线程池--java.util.concurrent 多线程框架
http://www.cnblogs.com/daidu/archive/2009/11/02/1594378.html
http://xiaobian.iteye.com/blog/178642

你可能感兴趣的:(thread,多线程,框架,.net,Blog)