어쨌든 스레드를 죽이거나 즉시 중단됩니다.
내 스레드 중 하나처럼, 나는 (2-4 초) 실행하는 데 시간이 걸리는 메서드를 호출합니다. 이 메서드는 while (boolean flag) 블록에 있으므로 주 스레드에서 인터럽트 할 수 있습니다.자바의 다른 스레드에서 즉시 스레드를 죽이는 방법은 무엇입니까?
하지만 문제는 내가 중단하면 문제입니다. 실행중인 루프가 끝날 때까지 대기하고 다음 조건부 검사에서 실행을 중지합니다.
바로 그만두 길 원합니다. 이 작업을 수행 할 여지가 있습니까?
은 클래스간에 변수를 공유 할 수 있습니다. 또는 스레드에서 내 while 루프에 대한 조건부 검사로 사용되는 부울 반환 유형 메서드를 만드는 경우이 아이디어는 괜찮습니까? 그리고 다른 클래스에서 중단 할 수 있습니까? 이것은 현명한 생각입니까? –
스레드를 인터럽트하는 가장 확실한 방법은 Thread.interrupt() 메소드를 사용하는 것입니다. 많은 차단 작업이 이미이를 지원합니다. while 루프에서 Thread.interrupted()를 사용하고 있는지 테스트 할 수 있습니다. 필드를 추가하지 않아도됩니다. –
http://download.oracle.com/javase/tutorial/essential/concurrency/interrupt.html –