このシナリオでは、スレッド、具体的には HandlerThread が test() メソッド内で実行され、値はそのスレッド内で変更されます。課題は、さらに処理または使用するために、この変更された値を test() メソッドに戻すことにあります。
1 つのアプローチは、提供されたコード スニペットに見られるように、Runnable インターフェイスを実装するスレッドを作成することです。このスレッドの run() メソッド内で、必要に応じて値を設定できます。さらに、この値を外部から取得する getValue() メソッドを作成できます。
値を取得するには、スレッドを起動し、スレッドが完了するまで (join() を介して) 待ってから、値にアクセスします。 getValue() メソッドを使用します。
<code class="java">public class CustomThread implements Runnable { private volatile int value; @Override public void run() { value = 2; } public int getValue() { return value; } }</code>
メイン メソッド内:
<code class="java">CustomThread thread = new CustomThread(); Thread t = new Thread(thread); t.start(); t.join(); int retrievedValue = thread.getValue();</code>
値のような揮発性変数を使用すると、スレッド間の可視性と一貫性が保証されることに注意してください。
以上がJava でスレッドから変更された値を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。