在這種情況下,一個執行緒(特別是 HandlerThread)在 test() 方法中執行,且值在該執行緒內修改。挑戰在於將此修改後的值傳回給 test() 方法以供進一步處理或使用。
一種方法是建立一個實作 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>
在 main 方法中:
<code class="java">CustomThread thread = new CustomThread(); Thread t = new Thread(thread); t.start(); t.join(); int retrievedValue = thread.getValue();</code>
請記住,使用像 value 這樣的易失性變數可確保跨執行緒的可見性和一致性。
以上是如何從 Java 執行緒檢索修改後的值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!