当前位置:嗨网首页>书籍在线阅读

08-等待多个并发事件

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

3.3 等待多个并发事件

Java并发API提供了一个类 CountDownLatch ,它可以使多个线程等待直到一组操作完成。实例化这个类需要一个整型参数,该参数代表了线程希望等待的操作的个数。当一个线程希望等待这些操作执行完成时,可以调用 CountDownLatch 对象的 await() ,这个方法会将调用线程休眠,直到所等待的操作全部结束。而当一个操作结束时,应该调用 CountDownLatch 对象的 countDown() 方法,该方法会将 CountDownLatch 对象内部的属性计数器的值减1,表示一个操作的完成。当 CountDownLatch 对象内部的计数器的值为0时,表示所有操作都完成了。这时, CountDownLatch 对象将唤起所有因调用其 await() 方法而休眠的线程。

本节将介绍如何使用 CountDownLatch 类来完成一个视频会议系统。这个视频会议系统将在所有与会者抵达后开始。