评论由:mpenet发布
嗨 Ghadi,
感谢您的反馈,但我不认为您正确阅读了我的补丁。
我没有更改您提到的案例(promise),唯一改变的是,对于clojure.core.async.impl.dispatch/run被调用的少数情况,这意味着该函数在一个全局定义的线程池中运行,该线程池用于core.async的所有内容(除了thread),它可以通过一个带参数的线程池函数选择性地执行。默认值不变,如果您不传递执行器,将得到核心.async当前行为的不变版本。
一些人提到了需要,有些公开讨论,有些私下讨论,包括我自己,我得知有一个团队表达了相同的担忧,他们已经将系统从一个转换到另一个,从core.async到manifold,因为后者提供了更多类似的控制器。
最后,关乎控制,如果您对此不感兴趣,它不会改变core.async及其当前执行模型,但它对于那些需要这种精细调整的人来说很重要。
几天前在twitter上再次出现了这个问题: https://twitter.com/puredanger/status/576378306062262272,您也可以在irc日志中找到相关参考。
如果可能,我会将其作为库发布,但相关的代码有时非常深入,几乎不可能在不分叉整个库的情况下进行更改,所以有了这个补丁。