我有一个条件,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线程吗?是否有办法确认睡眠的作用
答案 0 :(得分:2)
Thread.sleep()
影响当前线程。它不会让其他线程进入睡眠状态。
然而,使用Thread.sleep()
永远不是一个好主意用于程序逻辑。特别是在等待其他一些动作完成时。这些应该通过通知机制处理,而不是等待随机数量,并希望一切都能正常工作。