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

23-在一个锁中使用多个条件

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

2.6 在一个锁中使用多个条件

在使用锁的过程中可能会涉及多个由 Condition 接口定义的条件机制。使用这些条件机制可以判断在当前条件下是否能获得锁的使用权。如果返回值为 false ,则线程将挂起直到其他线程把其唤醒。 Condition 接口为开发者提供了把线程挂起并且唤醒的机制。

并发编程中的一个经典问题是“生产者-消费者”问题。在该模型中存在一个数据缓冲区,有多个线程可以同时写入同一个数据缓冲区,而在此同时也有多个线程从该数据缓冲区读取数据,我们在之前已经详细阐述过这个问题。

本节将介绍如何通过锁和条件机制实现一个生产者-消费者模型。