Go并发编程之传统同步—(2)条件变量
前言回顾上篇文章《Go并发编程之传统同步—(1)互斥锁》其中说到,同步最终是为了达到以下两种目的:维持共享数据一致性,并发安全控制流程管理,更好的协同工作示例程序通过使用互斥锁,达到了数据一致性目的,那么流程管理应该怎么做呢?传统同步条件变量上篇文章的示例程序,仅仅实现了累加功能,但在现实的工作场景中,需求往往不可能这么简单,现在扩展一下这个程序,给它加上累减的功能。加上了累减的示例程序,可以抽象的理解为一个固定容量的“储水池”,可以注水、排水。仅用互斥锁当水注满以后,停止注水,开始排水,当水排...阅读全文