如果某个流程无法完成,则意味着被强制 ... 我怎样才能意识到并终止它。
我正在开发一个处理数百万个文件的软件,每个文件只需几秒钟即可完成处理,但有些文件在处理期间卡住了,我想**
跳过这些文件。
** 我怎么能这样做?
细节:
文件首先是PARSED ------>然后它被转换为.adv文件--------->后来进入三重奏.tpl
生成.adv文件时,某些文件被卡住了。
答案 0 :(得分:1)
决定在跳过之前您愿意花多少时间生成一个文件。您可以设置具有该时间限制的计时器,并检查自上次关闭以来它是否仍在上载相同的文件。只需一个执行简单检查的计时器,您就不应该注意到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的任何想法吗?