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()
从来都不是用于程序逻辑的好主意。特别是在等待其他动作完成时。这些应该通过通知机制来处理,而不是等待随机数量并希望一切正常。
我有一个情况,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()
从来都不是用于程序逻辑的好主意。特别是在等待其他动作完成时。这些应该通过通知机制来处理,而不是等待随机数量并希望一切正常。