In diesem Szenario wird ein Thread, insbesondere ein HandlerThread, innerhalb der test()-Methode ausgeführt und a Der Wert wird innerhalb dieses Threads geändert. Die Herausforderung besteht darin, diesen geänderten Wert zur weiteren Verarbeitung oder Verwendung an die test()-Methode zurückzugeben.
Ein Ansatz besteht darin, einen Thread zu erstellen, der die Runnable-Schnittstelle implementiert, wie im bereitgestellten Codeausschnitt zu sehen ist. Innerhalb der run()-Methode dieses Threads können Sie den Wert nach Bedarf festlegen. Darüber hinaus können Sie eine getValue()-Methode erstellen, um diesen Wert extern abzurufen.
Um den Wert abzurufen, können Sie den Thread starten, warten, bis er abgeschlossen ist (über join()) und dann auf den Wert zugreifen unter Verwendung der getValue()-Methode.
<code class="java">public class CustomThread implements Runnable { private volatile int value; @Override public void run() { value = 2; } public int getValue() { return value; } }</code>
In der Hauptmethode:
<code class="java">CustomThread thread = new CustomThread(); Thread t = new Thread(thread); t.start(); t.join(); int retrievedValue = thread.getValue();</code>
Denken Sie daran, dass die Verwendung einer flüchtigen Variablen wie value die Sichtbarkeit und Konsistenz über Threads hinweg gewährleistet.
Das obige ist der detaillierte Inhalt vonWie rufe ich einen geänderten Wert aus einem Thread in Java ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!