use*_*688 6 java multithreading javafx thread-safety
我通过修改可观察数组列表来更新表,但现在2个线程可能会修改可观察数组列表.我应该在同步方法中放置修改列表的代码,还是只允许1个线程修改列表?
Jam*_*s_D 10
对于此特定用例 - 在ObservableList绑定到a的情况下TableView,您只能访问FX应用程序线程中的列表.这是因为对列表的更改将导致更改TableView,并且场景图的所有更改必须在FX应用程序线程上发生.
因此,在这种情况下,关于ObservableList线程是否安全的问题是一个没有实际意义的问题:因为您只能出于其他原因从单个线程访问它,所以您不需要它.
如果您有一个需要更新列表的后台线程,您可以Platform.runLater(...)通过使用javafx.concurrentAPI来管理线程,将这些更新安排在FX应用程序线程上,或者(这可能更好).
| 归档时间: |
|
| 查看次数: |
4059 次 |
| 最近记录: |