Thread.sleep 对等待 windows 完成文件 creation/moving 的可运行任务的影响

Effect of Thread.sleep on a runnable task waiting on windows to complete file creation/moving

我有一个情况,windows 文件夹上的文件 moving/creation 正在为任务继续使用该路径上的文件创建计时问题

所以我正在休眠守护线程 运行 使用 thread.sleep(30 毫秒)执行该任务,直到 windows 它工作并允许我的任务 运行 正常任何 FileNotFoundException。

初始化Class

 Thread t = new Thread (processTask);
 t.setdaemon(true)
 t.start();

任务class

 class ProcessTask() extends Runnable 
  {
   Files.move(source, destination, copyoption);
   Thread.sleep(30ms); //to wait for windows to complete move
   new FileInputstream(sourceFile);
  }

thread.sleep(30ms) 肯定只会让我当前的守护线程 休眠吗?有没有办法确认睡眠在哪里起作用

Thread.sleep() 影响当前线程。它不会让其他线程休眠。

然而,使用 Thread.sleep() 从来都不是用于程序逻辑的好主意。特别是在等待其他动作完成时。这些应该通过通知机制来处理,而不是等待随机数量并希望一切正常。