5
は、私は、Javaチュートリアルの次のディレクトリウォッチャを実装しました。すべてがうまく動作しているように見えますが、私が知りたいのは、何らかのタイプのクリーンアップをどこかで行う必要があるのか、そのような場合にはどうすればよいのでしょうか。そのスレッドは基本的に何かが起こった場合に備えて全時間待機しているので、その後は次の変更を待つことに戻ります。停止(クリーンアップ)
ありがとうございました。
は、私は、Javaチュートリアルの次のディレクトリウォッチャを実装しました。すべてがうまく動作しているように見えますが、私が知りたいのは、何らかのタイプのクリーンアップをどこかで行う必要があるのか、そのような場合にはどうすればよいのでしょうか。そのスレッドは基本的に何かが起こった場合に備えて全時間待機しているので、その後は次の変更を待つことに戻ります。停止(クリーンアップ)
ありがとうございました。
WatchServiceを閉じる必要があります。
http://openjdk.java.net/projects/nio/javadoc/java/nio/file/WatchService.html#close()明らかに
、あなたはあなたのプログラムの期間中、同じパス(複数可)を見に行くされている場合は、あなただけの終了およびクリーンアップするためにOSに依存することができます。
デーモンスレッドの場合は、おそらくそうではありません。何らかの問題が発生した場合は、ブロッキング呼び出しが返ってきたときに常にチェックされるいくつかの 'terminateAndExit'ブール値フラグを使用して停止できます。フラグを設定した後に復帰させるには、一時ファイルを作成してからもう一度削除してください。 –
関連性がありません:あなたはEDTでJListの更新を行っています:-) – kleopatra