디스플레이를 삭제할 때 스레드 풀 스레드는 항상 swt syncExec 호출에 응답하지 않습니다. 어떻게 이런 상황을 피하고 스레드를 완전히 종료 할 수 있습니까? 셸 disposeListener 내부에서 shutdownNow를 호출하면 작동하지 않습니다.종료 ThreadPool- 스레드가 swt에 걸려 있음 syncExec
다음 예제는 스레드 풀 스레드에 의해 실행되는 실행 파일을 보여줍니다. 당신은 여기에 전체 코드를 찾을 수 있습니다 DoSomething
에서 http://www.java-forum.org/awt-swing-javafx-and-swt/164617-threadpool-sicher-beenden-verwendung-swt-widgets-display-syncexec.html
private class DoSomething implements Runnable {
public void run() {
try { Thread.sleep(500); } catch(InterruptedException e) {e.printStackTrace();}
if(!shell.isDisposed()) {
display.syncExec(new Runnable() {
public void run() {
drawshit(display);
}
});
}
}
}
}
감사합니다. 스레드 풀은 syncExec() 호출로 수집 된 데이터에 대해 일부 작업을 수행하므로 스레드 풀은 결과를 기다려야합니다. – Twiggy