Java에서 스레드를 정상적으로 중지
스레드를 실행하는 데 과도한 시간이 걸리는 경우 스레드를 정상적으로 중지해야 할 수도 있습니다. 시스템 불안정을 방지하기 위해. 이를 달성하기 위해 선호되는 접근 방식은 다음과 같이 스레드의 run() 메서드 내에 부울 플래그를 구현하는 것입니다.
class MyThread extends Thread { volatile boolean finished = false; public void stopMe() { finished = true; } public void run() { while (!finished) { // Perform necessary tasks } } }
이렇게 하면 종료를 true로 설정하여 외부 소스에서 스레드를 중지할 수 있습니다.
오래된 Thread.stop() 메서드는 본질적으로 안전하지 않다는 점에 유의하는 것이 중요합니다. Java 설명서에 나와 있듯이 모니터 잠금 해제 및 개체 상태의 잠재적 불일치로 인해 임의의 동작이 발생할 수 있습니다. 따라서 위에서 설명한 것처럼 스레드의 run() 메서드 내에서 가드를 구현하는 것이 스레드를 정상적으로 종료하는 데 권장되고 안전한 접근 방식입니다.
위 내용은 Java에서 스레드를 정상적으로 중지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!