gpt4 book ai didi

concurrency - 如何在 Clojure 中创建一个持续运行的后台进程?

转载 作者:行者123 更新时间:2023-12-03 23:29:01 25 4
gpt4 key购买 nike

如何在 Clojure 中创建一个持续运行的后台进程?将“ future ”与永远不会以正确方式结束的循环一起使用吗?

最佳答案

你可以用一个永远运行的函数来启动一个线程。

(defn forever []
;; do stuff in a loop forever
)

(.start (Thread. forever))

如果您不希望后台线程阻止进程退出,请确保将其设为守护线程:
(doto 
(Thread. forever)
(.setDaemon true)
(.start))

如果你想要更多的技巧,你可以使用 java.util.concurrent.Executors 工厂来创建一个 ExecutorService。这使得创建线程池、使用自定义线程工厂、自定义传入队列等变得容易。

claypoole lib 将一些工作执行内容包装成一个更适合 clojure 的 api,如果这就是你想要的。

关于concurrency - 如何在 Clojure 中创建一个持续运行的后台进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4560594/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com