欢迎!请查看 关于 页面以了解更多关于该如何工作。
一旦创建了一个 mix,mix 中的 go-loop 将始终递归。显然,输入通道可以被解混合,输出通道可以被关闭,但进程仍然不会终止。
可能 mix 应该支持类似 (stop) 的功能,以便与 mix 相关的进程可以被垃圾回收。对已停止的 mix 的操作可能应该引发异常。
评论者:gshayban
从 0.1.278 版本开始,mix 进程在其输出通道关闭时终止(链接:1)。
(链接:1) https://github.com/clojure/core.async/blob/master/src/main/clojure/clojure/core/async.clj#L778
评论者:lgs32a
是的,已经通过使用 put! 的新返回行为进行了修复(我找不到关闭此问题的选项)。