2013-06-22 169 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