>  기사  >  Java  >  Java의 스레드에서 수정된 값을 검색하는 방법은 무엇입니까?

Java의 스레드에서 수정된 값을 검색하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-31 04:46:02988검색

How to Retrieve a Modified Value from a Thread in Java?

스레드에서 변경된 값을 어떻게 검색할 수 있나요?

이 시나리오에서는 스레드, 특히 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.