如果一个过程没有完成就意味着它被卡住了...
我如何实现它并终止它。

我正在开发一个处理数百万个文件的软件,每个文件都需要几秒钟来进行处理,但是某些文件在处理过程中卡住了,我想**


  跳过这些文件。


**
我怎样才能做到这一点??

细节:

首先将文件放回------>然后将其转换为.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有什么想法吗?

07-24 09:32