欢迎!请参阅关于页面以获取有关如何操作的一些更多信息。
我们是否希望这在消费者走开场景中使用,或者 baked into 在信道实施中?
`(defn drain!"完全消耗并丢弃一个信道。返回一个信道每当ch被完全消耗时会关闭的信道"[ch](go-loop [](if (some? (<! ch))
`
(recur))))
评论由:samumbach发表
当一个信道的缓冲区已满时,close!和/或在同一多信道上的untap是不够的以取消阻塞其他连接。这是drain!有必要的一个具体案例;确保在untap/close之后进行drain以避免竞争条件。
close!
untap
drain!