2

プロセスが終了しない場合は、プロセスが停止した場合を意味します...どうすればそれを認識して終了できます

何百万ものファイルを処理するソフトウェアに取り組んでおり、各ファイルの処理に数秒かかりますが、一部のファイルは処理中に動かなくなります。**

それらのファイルをスキップします。

** これどうやってするの??

詳細:

ファイルは最初に解析されます ------> 次に、.adv ファイルに変換されます ---------> 後でトリプル .tpl に変換されます

.adv ファイルの生成中に一部のファイルがスタックします。

4

1 に答える 1

1

スキップする前に、1 つのファイルを生成するのにどれだけの時間を費やすかを決定します。その制限時間でタイマーを設定し、最後にオフになってから同じファイルをまだアップロードしているかどうかを確認できます。単純なチェックを実行するタイマーが 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に関するアイデアはありますか?

于 2013-06-07T06:38:33.513 に答える