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.
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