在这种情况下,一个线程(特别是 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中文网其他相关文章!