이 시나리오에서는 스레드, 특히 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>
기본 메서드에서:
<code class="java">CustomThread thread = new CustomThread(); Thread t = new Thread(thread); t.start(); t.join(); int retrievedValue = thread.getValue();</code>
value와 같은 휘발성 변수를 사용하면 스레드 전체의 가시성과 일관성이 보장된다는 점을 기억하세요.
위 내용은 Java의 스레드에서 수정된 값을 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!