Si deseas ejecutar un determinado bloque de código de manera repetida en el tiempo para una aplicación JavaFX, puedes usar la clase AnimationTimer. Además, ese código se ejecutará en paralelo o segundo plano al hilo de ejecución principal de la aplicación, es decir, que mientras se mantiene la ejecución principal de la aplicación, se ejecuta también cada cierto tiempo (por cada frame) el código que se incluya en el AnimationTimer

Esta clase puede ser de mucha utilidad para el desarrollo de juegos. en los que es frecuente mantener animaciones de diferentes objetos de manera independientes unos de otros. Por ejemplo, en PacMan, que mientras se mueve el comecoco, se van moviendo libremente los 4 fantasmas. En ese caso, mientras la tarea (hilo) principal de la aplicación se encarga de gestiones como detectar pulsaciones de teclado y de mover el comecoco, paralelamente se mueven los fantasmas. El movimiento de cada fantasma se podrá incluir dentro de distintos objetos AnimationTimer que realicen sus movimientos.

El código a repetir se debe incluir dentro de un método handle que sobreescriba el proporcionado por esta clase, por ejemplo, de manera similar a la siguiente:

AnimationTimer animationTimer = new AnimationTimer() {
    @Override
    public void handle(long now) {
       // Escribe aquí el código que deseas ejecutar repetidamente
    }
};

 En el momento en que desees que comience la ejecución del código, deberás invocar al método start sobre el objeto AnimationTimer que se ha creado:

animationTimer.start();

Debes saber también que la clase AnimationTimer ofrece un método stop() que puedes llamar cuando se desee parar la ejecución del bloque de código incluido en el AnimationTimer.

animationTimer.stop();