Muss ich einige Sperren oder Synchronisierungen hinzufügen, wenn nur ein Thread geschrieben und mehrere Threads gelesen werden?

Sag ich habe ein globales Objekt:

class Global {
   public static int remoteNumber = 0;
}

Es gibt einen Thread, der regelmäßig ausgeführt wird, um eine neue Nummer von der Gegenstelle abzurufen und diese zu aktualisieren (nur schreiben):

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

Und es gibt einen oder mehrere Threads, die dieses globale @ verwenderemoteNumber zufällig (nur gelesen):

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

Sie können sehen, dass ich keine Sperren verwende odersynchronize, um es zu schützen, ist es richtig? Gibt es ein potenzielles Problem, das Probleme verursachen könnte?

Aktualisieren

In meinem Fall ist es nicht wirklich wichtig, dass die Lesethreads in Echtzeit den neuesten neuen Wert erhalten. Ich meine, wenn es ein Problem gibt (wegen fehlender Sperre / Synchronisation), dass ein Lesethread diesen Wert verfehlt, ist es egal, weil er die Chance hat, den gleichen Code bald auszuführen (vielleicht in einer Schleife)

Aber das Lesen eines unbestimmten Wertes ist nicht erlaubt (ich meine, wenn der alte Wert 20 ist, ist der neue aktualisierte Wert 30, aber der Lese-Thread liest einen nicht existierenden Wert, sagen wir 33, ich bin nicht sicher, ob es möglich ist)

Antworten auf die Frage(4)

Ihre Antwort auf die Frage