【问题标题】:Future promises in Clojure hangs on meClojure 中的未来承诺取决于我
【发布时间】:2010-08-03 04:00:33
【问题描述】:

当我运行以下代码时,它基本上按照我的预期工作,除了它在未来完成后挂起。我错过了什么 - 某种“关闭代理/线程”调用?我该怎么做?

(def name-to-greet (promise))

(future
    (println "Hello," @name-to-greet))

(print "What is your name? ")
(flush)
(deliver name-to-greet (read-line))

【问题讨论】:

    标签: concurrency clojure


    【解决方案1】:

    Futures 使用代理线程池,它使用非守护线程,这意味着 Clojure 在您调用 (shutdown-agents) 之前不会关闭。恕我直言,这是假的(请参阅my comments here),我建议 Rich 说他会考虑在 1.2 之后的版本。

    【讨论】:

      猜你喜欢
      • 2020-03-16
      • 2021-02-18
      • 1970-01-01
      • 1970-01-01
      • 2020-10-22
      • 2014-12-15
      • 2018-06-11
      • 2022-07-19
      • 1970-01-01
      相关资源
      最近更新 更多