生产者消费者编程模式

idea at 
生产者消费者编程模式的配图
相信很多人都知道"生产者消费者"编程模式, 也使用过这种模式, 但是, 可能只是本能不自觉地使用过, 未必对这种模式有清晰和深刻的理解. 特别是级联生产者消费者模式, 更是强大无比. 很多人可能没有意识到, Golang 语言的核心思想正是生产者消费者模式, 也即 go routine + channel.假设有一个功能, 处理某个任务需要进行 3 个步骤, 那么代码可以这样写:func worker(t *Task) { step1(t) step2(t) step3(t) } for t := recv_task(); t != nil { worker(……