[英]Close java processing thread
在GUI应用程序中,当我必须进行大量数据操作(访问DB)时,我创建了一个线程,该线程打开一个加载对话框,在处理结束时关闭此对话框。 但是,如果关闭“加载”对话框,我希望此处理被中断。 今天,即使关闭了加载对话框,它也会打开下一个视图。
我怎样才能做到这一点? while(run){}不适用,因为它只运行一次,然后线程退出。 另外,中断没有用,因为我没有任何阻塞方法。
另外,中断没有用,因为我没有任何阻塞方法。
我想你会做类似的事情:
while(resultSet.hasNext()) {
//do something
}
您可以将其更改为:
while(resultSet.hasNext()) {
if (Thread.currentThread.isInterrupted()) break;
//do something
}
现在,当您中断正在运行的线程时,您的任务将退出。
在对话框关闭事件中使用myThread.interrupt()
,这将导致所有等待的东西(睡眠,等待,阻止ios)停止。 如果可能,还使用if (Thread.currentThread.isInterrupted())
在代码中添加一些检查。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.