Heim >Java >javaLernprogramm >Wie rufe ich einen geänderten Wert aus einem Thread in Java ab?

Wie rufe ich einen geänderten Wert aus einem Thread in Java ab?

Linda Hamilton
Linda HamiltonOriginal
2024-10-31 04:46:021072Durchsuche

How to Retrieve a Modified Value from a Thread in Java?

Wie kann ich den geänderten Wert aus einem Thread abrufen?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn