我正在使用 at-at 库并在执行单个任务后,即
(at-at/after 5000 #(println "hello from the past!") my-pool)
我的应用程序没有退出。我正在执行可以吗
(System/exit 0)
在我的申请结束时?这是迄今为止关闭应用程序的唯一方法。
最佳答案
在内部,at-at
使用 ScheduledThreadPoolExecutor ,它使用非守护线程的线程池。在所有非守护线程退出之前,JVM 不会退出。 at-at
提供了一个函数 stop-and-reset-pool!
,它可用于优雅地(当工作完成时)或立即停止池,这应该允许JVM 退出。
如果您只是想强制关闭,也可以使用System/exit
(但请注意,您的工作实际上不会完成)。
关于multithreading - 在 clojure 中使用 at-at 库时应用程序不退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41723408/