¿Necesito agregar algunos bloqueos o sincronización si solo hay un hilo escrito y varios hilos leídos?

Digamos que tengo un objeto global:

class Global {
   public static int remoteNumber = 0;
}

Hay un hilo que se ejecuta periódicamente para obtener un nuevo número del control remoto y lo actualiza (solo escribe):

new Thread {
   @override
   public void run() {
       while(true) {
           int newNumber = getFromRemote();
           Global.remoteNumber = newNumber;
           Thread.sleep(1000);
       }
   }
}

Y hay uno o más hilos usando este globalremoteNumber aleatoriamente (solo lectura):

int n = Global.remoteNumber;
doSomethingWith(n);

Puedes ver que no uso ninguna cerradura osynchronize para protegerlo, ¿es correcto? ¿Hay algún problema potencial que pueda causar problemas?

Actualizar:

En mi caso, no es realmente importante que los hilos de lectura tengan el último valor nuevo en tiempo real. Quiero decir, si hay algún problema (debido a la falta de bloqueo / sincronización) hace que un hilo de lectura pierda ese valor, no importa, porque tendrá la oportunidad de ejecutar el mismo código pronto (tal vez en un bucle)

Pero no está permitido leer un valor indeterminado (quiero decir, si el valor anterior es 20, el nuevo valor actualizado es 30, pero los hilos de lectura leen un valor inexistente, digamos 33, no estoy seguro de si es posible)

Respuestas a la pregunta(2)

Su respuesta a la pregunta