我正在使用at-at库并执行单个任务,即
(at-at/after 5000 #(println "hello from the past!") my-pool)
我的申请没有退出。我正在执行
是否可以(System/exit 0)
在我申请的最后?这是到目前为止关闭应用程序的唯一方法。
答案 0 :(得分:2)
在内部,at-at
使用ScheduledThreadPoolExecutor,它使用非守护程序线程的线程池。在所有非守护程序线程退出之前,JVM不会退出。 at-at
提供了一个函数stop-and-reset-pool!
,可用于优雅地(工作完成时)或立即停止池,这应该允许JVM退出。
如果您只想强制关机,也可以使用System/exit
(但请注意,您的工作实际上不会完成)。