【发布时间】:2014-12-16 22:39:15
【问题描述】:
在处理显示时,线程池线程总是挂在 swt syncExec 调用中。如何避免这种情况并干净地关闭线程?在 shell disposeListener 内调用 shutdownNow 不起作用。
以下示例显示了由线程池线程执行的可运行对象。你可以在这里找到完整的代码: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 );
}
});
}
}
}
}
【问题讨论】:
标签: java concurrency swt threadpool terminate