Sincronización de subprocesos JavaFX con subprocesos Java

¿Hay una manera de sincronizar un hilo de la plataforma JavaFX y un hilo estándar de Java? Actualmente, cuando se activa, el subproceso de JavaFX se activa antes de que el subproceso de Java estándar haya terminado de agregar todas las imágenes a la lista observable, por lo que la lista de imágenes se actualiza con una colección en blanco.

private final TilePane imageList;
final File[] files = new File(dir).listFiles();
final List<ImageView> 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);
        }
    });

Soy relativamente nuevo en JavaFX y en la concurrencia, y no tengo experiencia con los bloqueos de subprocesos, por lo que cualquier ayuda sería excelente. ¡Gracias!

Respuestas a la pregunta(1)

Su respuesta a la pregunta