【问题标题】:Stop Watching A Directory for Changes (cleanup)停止观看目录的更改(清理)
【发布时间】:2012-10-24 19:11:06
【问题描述】:

我按照java教程实现了一个目录观察器:https://blogs.oracle.com/thejavatutorials/entry/watching_a_directory_for_changes

我将它放在更新 JList 的单独线程上。一切似乎都运行良好,我想知道的是:我是否需要在某处进行某种类型的清理,如果是这种情况,最好的方法是什么。因为该线程基本上一直在等待,以防万一发生什么,然后它又回到等待下一次更改。

感谢您的帮助。

【问题讨论】:

  • 如果是守护线程,可能不是。如果你确实遇到了一些问题,你可以通过一些'terminateAndExit'布尔标志来停止它,当阻塞调用返回时总是检查这个标志。要让它在设置标志后返回,只需创建一些临时文件,然后再次删除它。
  • 无关:您正在 EDT 上进行 JList 更新,是吗:-)

标签: java multithreading swing nio


【解决方案1】:

您应该关闭 WatchService。

http://openjdk.java.net/projects/nio/javadoc/java/nio/file/WatchService.html#close()

显然,如果您要在程序运行期间查看相同的路径,您可以直接退出并依靠操作系统进行清理。

【讨论】:

    猜你喜欢
    • 2018-06-30
    • 1970-01-01
    • 2020-08-21
    • 1970-01-01
    • 1970-01-01
    • 2021-07-12
    • 2023-04-01
    • 2019-06-27
    • 2013-04-21
    相关资源
    最近更新 更多