【问题标题】:Why do agents have a pool of threads?为什么代理有一个线程池?
【发布时间】:2013-08-07 11:47:42
【问题描述】:

在 clojure 文档中,我看到代理使用线程池来处理数据。但我读过(总是在文档中):

所有代理的动作在线程中的线程之间交错 水池。在任何时间点,每个代理最多有一个动作正在执行 执行。

为什么代理有一个线程池而不是一个线程来处理发送函数的“队列”?

谢谢。

【问题讨论】:

    标签: clojure


    【解决方案1】:

    代理没有“线程池”。有两个线程池(用于sendsend-off 操作),代理操作被分配到其中。

    此设计决策是 CPU 密集型任务的最佳选择,也是 IO 密集型任务的最佳方法。

    对于后一种情况,为您自己的池提供send-via 将是最佳选择(假设您知道自己在做什么)。

    【讨论】:

    • 谢谢,我明白了。 :)
    猜你喜欢
    • 2016-05-21
    • 1970-01-01
    • 2022-01-10
    • 2012-01-31
    • 2011-01-03
    • 2013-11-28
    • 2010-11-14
    • 1970-01-01
    • 2014-09-29
    相关资源
    最近更新 更多