나는 그 클래스의 인터럽트 상태를 설정합니다 runnable 인터페이스를 구현하는 클래스 내에서 메서드를 설정하려고합니다. 클래스 내부에서 처리 할 수 있기를 원하는 이유는 다른 정리해야 할 것들이 있기 때문입니다. 호출하는 대신 하나의 메서드를 호출하여 모든 작업을 수행 할 수 있기를 바랍니다. 예 :실행 가능한 클래스 내부에서 스레드를 인터럽트합니까? (자바)
현재 내 취소 코드는이 스레드의 인터럽트 상태를 올바르게 설정하지 않습니다.
public void cancel()
{
Thread.currentThread().interrupt();
// other clean up code here.
}
만약 내가 어떻게 작동합니까?
감사합니다.
EDIT : 내가 작업 취소를 얻으려고 할 때, 나는 상태를 다시 설정하는 상태를 설정하지 않았으므로 guiThread.interrupt()를 주석 처리했습니다.
, 당신은 아마 당신의 GUI를 실행하지 않으려는 표준 스레드. Event Dispatch Thread에서 실행해야합니다. –
'interrupt'를 호출 할 수 없습니다. '취소 '는'Gui'의 메소드이고'Thread'가 아니고'Runnable'입니다. –
@ Alexander - 그걸 가져 주셔서 고마워요. 내 대답을 편집했습니다. – mdma