【问题标题】:Monitor file to find which thread is modifying file监视文件以查找正在修改文件的线程
【发布时间】:2013-05-14 07:15:24
【问题描述】:

我想找出哪个 java 线程正在修改文件。 如果有人知道工具或知道我们如何监控和获取线程名称,请分享。

谢谢。

【问题讨论】:

  • 有一个东西叫WatcherService,我不确定它是否可以用于你的目的!!!
  • 感谢大家的回复,但问题是我无法访问代码,这就是我问工具的原因。

标签: java monitoring


【解决方案1】:

我不确定您究竟为什么需要这些信息,但我相信有两种方法。

第一种方法是在您的 java 代码中创建线程时,使用名称创建它。 Thread 类中有可用的构造函数和方法来执行相同的操作。如果您在项目中有良好的日志记录,那么您可以记录输入代码以修改文件的线程名称。

第二种方式再次依赖于具有名称的线程。您可以使用 java profiler 找出线程在某个时间点正在做什么。尽管如果线程修改文件的速度太快,那就太难了。但是,如果您试图找到一个线程修改文件速度慢的问题,那么分析器可能会给您提示。

希望对你有帮助!

【讨论】:

    【解决方案2】:

    如果文件修改是自己写的代码,可以在修改前使用:

    Thread.currentThread().getName();
    Thread.currentThread().getId();
    

    你会得到线程的名称和ID

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-03
      • 1970-01-01
      • 1970-01-01
      • 2020-04-27
      • 1970-01-01
      • 2012-09-02
      • 2012-06-12
      相关资源
      最近更新 更多