„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > 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?

Veröffentlicht am 09.11.2024
Durchsuche:931

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.

public class CustomThread implements Runnable {
    private volatile int value;

    @Override
    public void run() {
        value = 2;
    }

    public int getValue() {
        return value;
    }
}

In der Hauptmethode:

CustomThread thread = new CustomThread();
Thread t = new Thread(thread);
t.start();
t.join();
int retrievedValue = thread.getValue();

Denken Sie daran, dass die Verwendung einer flüchtigen Variablen wie value die Sichtbarkeit und Konsistenz über Threads hinweg gewährleistet.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3