JavaFX只有一个UI线程
从文档
JavaFX场景图表示JavaFX应用程序的图形用户界面,它不是线程安全的,只能从UI线程(也称为JavaFX
Application线程)进行访问和修改
如果您有 长期运行的任务
,则需要在后台线程上运行它们,并在完成这些线程后,将结果更新回UI。在这种情况下,您可以使用括起来的更新
Platform.runlater()。用Platform.runLater包围您的代码,使您的代码可以与JavaFX
Application线程进行通信。
来到您的问题:
使用Platform.runLater是否有其他显着差异或动机?
我希望其中大部分已经回答,只是为了补充
1。 如果您已经在JavaFX Application线程上,则不必使用Platform.runlater()
2。正如Platform.runLater()文件所说
将来在某些未指定的时间在JavaFX Application Thread上运行指定的Runnable
我们不确定何时进行更新,这取决于等待处理的更新数量。如果大量更新正在等待在UI线程上进行处理,则可能需要一些时间(通常不会发生这种情况)



