"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Java의 스레드에서 수정된 값을 검색하는 방법은 무엇입니까?

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

2024-11-09에 게시됨
검색:563

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

스레드에서 변경된 값을 어떻게 검색할 수 있습니까?

이 시나리오에서는 스레드, 특히 HandlerThread가 test() 메서드 내에서 실행되고 해당 스레드 내에서 값이 수정됩니다. 문제는 추가 처리 또는 사용을 위해 이 수정된 값을 test() 메서드로 다시 반환하는 것입니다.

한 가지 접근 방식은 제공된 코드 조각에서 볼 수 있듯이 Runnable 인터페이스를 구현하는 스레드를 만드는 것입니다. 이 스레드의 run() 메서드 내에서 필요에 따라 값을 설정할 수 있습니다. 또한 getValue() 메서드를 생성하여 이 값을 외부에서 검색할 수 있습니다.

값을 검색하려면 스레드를 시작하고 스레드가 완료될 때까지 기다린 다음(join()을 통해) 값에 액세스할 수 있습니다. getValue() 메소드를 사용합니다.

public class CustomThread implements Runnable {
    private volatile int value;

    @Override
    public void run() {
        value = 2;
    }

    public int getValue() {
        return value;
    }
}

기본 메소드에서:

CustomThread thread = new CustomThread();
Thread t = new Thread(thread);
t.start();
t.join();
int retrievedValue = thread.getValue();

value와 같은 휘발성 변수를 사용하면 스레드 전체의 가시성과 일관성이 보장된다는 점을 기억하세요.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3