【发布时间】:2013-08-07 11:47:42
【问题描述】:
在 clojure 文档中,我看到代理使用线程池来处理数据。但我读过(总是在文档中):
所有代理的动作在线程中的线程之间交错 水池。在任何时间点,每个代理最多有一个动作正在执行 执行。
为什么代理有一个线程池而不是一个线程来处理发送函数的“队列”?
谢谢。
【问题讨论】:
标签: clojure
在 clojure 文档中,我看到代理使用线程池来处理数据。但我读过(总是在文档中):
所有代理的动作在线程中的线程之间交错 水池。在任何时间点,每个代理最多有一个动作正在执行 执行。
为什么代理有一个线程池而不是一个线程来处理发送函数的“队列”?
谢谢。
【问题讨论】:
标签: clojure
代理没有“线程池”。有两个线程池(用于send 和send-off 操作),代理操作被分配到其中。
此设计决策是 CPU 密集型任务的最佳选择,也是 IO 密集型任务的最佳方法。
对于后一种情况,为您自己的池提供send-via 将是最佳选择(假设您知道自己在做什么)。
【讨论】: