评论者:mpenet
你好,Ghadi,
感谢你的反馈,但我认为你没有正确地阅读我的补丁。
我没有改变你提到的(promise)的情况,改变的唯一一件事情是,对于clojure.core.async.impl.dispatch/run被调用的少数情况,这意味着函数在全局定义的线程池中运行,这个线程池被core.async中的所有内容使用,除了thread,它可以***可选地通过提供的线程池函数参数完成。默认值没有改变,如果你没有传递executors,你将保持核心async当前的行为,没有任何改变。
一些人都提到了这样的需求,有些在公共场合,有些在私下,包括我自己,我还知道有一个团队表达了相同的问题,并刚刚将其系统从core.async切换到manifold,因为后者提供了更多类似的控制。
最终,这关乎控制,如果你不在乎它,它对core.async及其当前执行模型没有造成任何变化,但对于需要这种精细调优的人来说,它很重要。
几天前推特上又提到了这个问题: https://twitter.com/puredanger/status/576378306062262272,并且你肯定也可以在irc日志中找到相关的引用。
如果可能的话,我会将其作为一个库发布,但由于相关的代码有时非常深入地植根于其中,不进行整个库的分支就几乎不可能完成,因此产生了这个补丁。