code.7z
一、概述
Guarded Suspension
中文翻译为 确保挂起
。
在日常线程使用中也是最常见的。
当线程在访问某个对象时,发现条件不满足,就暂时挂起该线程等待条件满足时再次访问。
Guarded Suspension 模式是一个非常基础的设计模式,它主要关注的是当某个条件(临界值)不满足时将操作的线程正确的挂起,以防止出现数据不一致或者操作超过临界值的控制范围。
比如生产者、消费者中存在两个临界值
模拟一个简单的生产消费者,指定存放的容器,并设定容器上限。
相关代码如下:
代码中使用到 Guarded Suspension 的就是容器的两个临界值
- 上限值(最大容量,用户指定,代码中为 100)
- 下限值(容器最小值,0)