评论由:mpenet
你好 Ghadi,
感谢你的反馈,但我不认为你正确地阅读了我的补丁。
我没有改变你提到的案例(承诺),唯一改变的是,对于调用clojure.core.async.impl.dispatch/run function的少数情况,意味着该函数在全局定义的threadpool中运行,除了thread以外,所有core.async实现都在这个threadpool中运行,现在可以选择通过提供的threadpool function来完成。默认设置没有改变,如果你不传递executor,你将得到当前无任何变化的core.async行为。
有一些人提到了这种需求,无论是公开的还是私下的,包括我自己,我还知道有一个团队表达过相同的关注并已经将他们的系统从core.async切换到manifold,因为后者提供了更多的这种类型的旋钮。
最终这关乎控制,如果你不关心它,对core.async及其当前的执行模型不会产生任何影响,但对于需要这类细致调节的人来说,这是非常重要的。
几天前这个话题又在twitter上出现了: https://twitter.com/puredanger/status/576378306062262272,你肯定也可以在irc日志中找到相关讨论。
如果可能的话,我会将其作为一个库发布,但由于有关代码有时非常深植,而不修改整个库就几乎是无法做到的,因此有了这个补丁。