评论者:mpenet
Hi Ghadi,
谢谢您的反馈,但我认为您没有正确阅读我的补丁。
我对您提到的案例(promise)没有做任何更改,唯一改变的是,对于clojure.core.async.impl.dispatch/run被调用的少数几个案例,这意味着该函数在一个全局定义的线程池中运行(该线程池由core.async中所有除了thread的功能使用),它可以**可选地 通过传递函数参数提供的线程池来执行。默认项未改变,如果您不传递执行器,您将获得当前的master core.async行为,没有任何改变。
少数人提到了这种需求,有的公开提出,有的私下提及,包括我自己,我了解到有一个团队也提出了同样的担忧,并将他们其中一项系统从core.async切换到manifold,因为后者提供了更多这方面的控件。
最终,这关乎控制。如果您不关心这一点,这不会对core.async及其当前执行模型造成任何改变,但对那些需要这种精细调优的人很重要。
几天前,这又一次在twitter上被提及:https://twitter.com/puredanger/status/576378306062262272,以及在irc日志中你可以找到它的参考。
我本来会将其作为一个库发布的,但如果有可能的话,但涉及的代码有时非常深入,以至于没有对整个库分叉几乎无法实现,因此有了这个补丁。