Синхронизация потока JavaFX с потоком Java
Есть ли способ синхронизации потока платформы JavaFX и стандартного потока Java? В настоящее время при запуске поток JavaFX запускается до того, как стандартный поток Java завершит добавление всех изображений в наблюдаемый список, и поэтому imageList обновляется пустой коллекцией.
private final TilePane imageList;
final File[] files = new File(dir).listFiles();
final List views = FXCollections.observableArrayList();
new Thread() {
@Override
public void run() {
for (final File file : files) {
if (Utils.fileIsImage(file) && !file.isDirectory()) {
ImageView view = new ImageView(new Image("file:" + file, 72, 72, false, true));
views.add(view);
}
}
}
}.start();
Platform.runLater(new Runnable() {
@Override
public void run() {
imageList.getChildren().addAll(views);
}
});
м относительно новый для JavaFX и параллелизма, и неЯ не имею никакого опыта с блокировками потоков, поэтому любая помощь будет отличной. Спасибо!