Thread.sleep对等待窗口完成文件创建/移动的可运行任务的影响

时间:2017-02-06 14:44:16

标签: java multithreading threadpool daemon thread-sleep

我有一个条件,Windows文件夹上的文件移动/创建正在为使用该路径上的文件继续执行任务创建时间问题

所以我正在使用thread.sleep(30ms)睡眠运行该任务的deamon线程,直到windows运行它并允许我的任务运行正常而没有任何FileNotFoundException。

初始化类

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

任务类

 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)肯定只能睡觉我当前的deamon线程吗?是否有办法确认睡眠的作用

1 个答案:

答案 0 :(得分:2)

Thread.sleep()影响当前线程。它不会让其他线程进入睡眠状态。

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