0
我正在使用不會在Platform.exit()
上終止的javafx應用程序。通過試驗和錯誤,我已經漸漸成爲一種啓動兩個後臺任務的方法。但是這兩個任務(期貨)都取消了,並且在exit
之前調用isDone
。阻止程序終止的線程
我已經有非常相同的代碼與揮杆工作正常。所以我不知道它是javafx的東西,還是我只是愚蠢的。
我已經使用了廣泛的搜索引擎,但沒有發現任何關於追蹤'永恆'線程的一般技巧。
我正在使用不會在Platform.exit()
上終止的javafx應用程序。通過試驗和錯誤,我已經漸漸成爲一種啓動兩個後臺任務的方法。但是這兩個任務(期貨)都取消了,並且在exit
之前調用isDone
。阻止程序終止的線程
我已經有非常相同的代碼與揮杆工作正常。所以我不知道它是javafx的東西,還是我只是愚蠢的。
我已經使用了廣泛的搜索引擎,但沒有發現任何關於追蹤'永恆'線程的一般技巧。
我通過ExecutorService的創建期貨::提交andScheduledExecutorService :: sceduleAtFixedRate默認
ThreadFactory
創建
線程都是非DEAMON,因此應用程序將運行至shutdown
將被調用。要解決此問題,請將您的任務實施爲「可中斷」,並在執行程序上調用shutdownNow()
或提供定製ThreadFactory
,該程序將創建的deamon線程。這樣,執行程序線程將在主應用程序線程終止時終止。
你是如何創建正在運行任務的線程的? –
根據文檔,如果沒有更多的deamon線程,JVM將退出。你確定你沒有創建任何新線程嗎? – npinti
沒有更多*非*守護進程線程;) –