欢迎!请查看关于页面,了解更多关于这个站点如何工作的信息。
一旦创建了一个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!的新返回行为来修复了。(我找不到关闭这个问题的选项)