如果一个过程没有完成就意味着它被卡住了...
我如何实现它并终止它。
我正在开发一个处理数百万个文件的软件,每个文件都需要几秒钟来进行处理,但是某些文件在处理过程中卡住了,我想**
跳过这些文件。
**
我怎样才能做到这一点??
细节:
首先将文件放回------>然后将其转换为.adv文件--------->以后转换为三元组.tpl
生成.adv文件时,某些文件卡住了。
最佳答案
确定在跳过一个文件之前您愿意花费多少时间来生成一个文件。您可以设置一个具有该时间限制的计时器,并检查自上次关闭后是否仍在上传同一文件。您不应该注意到只有一个执行简单检查的计时器在CPU性能上有很大的不同。
编辑:
fileTimer = new Timer(maxDelay, checkFile);
fileTimer.start();
//set currentFile
ActionListener checkFile = new ActionListener() {
String lastFile;
public void actionPerformed(ActionEvent e) {
if (this.lastFile == currentFile)
//terminate process
else
lastFile = currentFile
}
}
我不太确定如何终止该过程。我对多线程不是很熟悉。关于@anshulkatta有什么想法吗?