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线程?有没有办法确认睡眠对的作用

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

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

相关内容

最新更新