与Android一样,JavaFX也不允许在UI线程之外对高级界面进行更新,比如网络线程返回了数据,想要在界面上刷新出来,如果在网络线程里直接处理就可能抛出异常。Android可以通过Handler发送Message实现像通知UI线程,保证线程安全,JavaFX也有类似的方法。
1).javafx.concerrent.Worker接口,主要提供了Task和Service两个类,用来建立能与UI线程安全通信的线程。Task和Service区别不大,Service提供了一些重置、重启之类的方法,可以理解成Task是执行一次性的任务,Service提供服务。示例: