您的位置:首页 > 编程语言 > Java开发

java多线程之CountDownLatch倒数闸门

2011-10-14 14:17 369 查看
在多个线程进行协作时,一个常见的情景是一个线程需要等待另外的线程完成某些任务之后才能继续进行.在这种情况下,可以使用CountDownLatch类,CountDownLatch类相当于多个线程等待开启的一个闸门.只有在其他线程完成任务之后,闸门才会打开,等待的线程才能运行.在创建CountDownLatch类的对象是需要指定等待完成的任务数目.一个CountDownLatch.类的对象被执行任务的线程和等待任务完成的线程说共享.当执行任务的线程完成其任务时,调用countDown方法来使待完成的任务数量减1.等待任务完成的线程通过调用await方法进入阻塞状态直到待完成的任务数量变为0.当所有任务都完成时,等待任务完成的线程会从await方法返回,可以继续执行后继的代码.CountDownLatch类的对象的使用是一次性的.一旦待完成的任务数量变为0,再调用await方法就不再阻塞当前线程,而是立即返回.倒数闸门的使用示例:
?
本文出自 “ketqi” 博客,请务必保留此出处http://ketqi.blog.51cto.com/1130608/687565
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: