2013-06-22 173 views
1

我寫的程序需要從服務器接收信息。我使用異步線程來完成。但是,當用戶點擊另一個項目時,會啓動一個新線程。如果第一個線程尚未完成(例如由於網絡問題),則第二個線程將結束並設置UI信息。然後第一個結束並重新覆蓋它。那麼當用戶點擊另一個項目時,我怎樣才能停止第一個線程?JavaFX停止線程

我說:

Thread asyncThread = new Thread(task); 
asyncThread.start(); 

但是,從我可以在Thread對象看,有沒有辦法阻止線程(僅棄用.stop()),但我不希望爲新程序使用棄用的東西。

回答

0

在JavaFX中,推薦使用Service,服務提供方法如stop(),cancel(),restart()...看看我對這個JavaFX GUI stuck的回答,以顯示如何使用Service。

+0

好的,謝謝你我會看看這個。 – Lorenz