CountDownLatch  这个类到底干啥的啊 有人指点一下吗  大概在什么情况下用这个类啊 

解决方案 »

  1.   

    dota的时候,双方所有玩家都进入游戏后,游戏才开始(卡蓝条)。CountDownLatch的初始值就是玩家总数,进一个玩家,CountDown一下,值减1,所有玩家都进来了,CountDown到0,这时同样等在Latch上的游戏线程启动运行,我们就可以开黑了。
      

  2.   

    多线程由于同步的,
    看看这里:http://www.itzhai.com/the-introduction-and-use-of-a-countdownlatch.html
    或这里的:http://www.cnblogs.com/yezhenhan/archive/2012/01/07/2315652.html
      

  3.   

    倒计数门闩可以控制让一批线程任务全部完成后,再继续做下面的操作。例如,有 10 个任务线程需要执行,倒计数门闩的大小设为 10 个,在 10 个线程启动完成后,使用 await 等待着线程完成任务。在每个线程任务完成后调用 countDown 一下,表示一个任务已经完成。当 countDown 到 0 时,await 则从阻塞状态释放继续下面的操作。
      

  4.   

    倒计数门闩,在某种程度上和 Thread#join 类似。