当我运行以下代码时,它基本上按照我的意图运行,除了它在未来完成后挂起。我错过了什么 - 某种“密切的代理人/线程”电话?我该怎么做?
(def name-to-greet (promise))
(future
(println "Hello," @name-to-greet))
(print "What is your name? ")
(flush)
(deliver name-to-greet (read-line))
答案 0 :(得分:7)
Futures使用代理线程池,它使用非守护程序线程,这意味着在您调用(shutdown-agents)之前Clojure不会关闭。 imho,这是假的(见my comments here),我已经提出Rich的建议,他会考虑在1.2之后。