1
我有以下情况:多个线程可能会尝试同时创建相同的文件夹,例如锁定创建新文件夹
Thread 1 Thread 2
1 new File("\newfolder\").mkdir() 1 new File("\newfolder\").mkdir()
2 2
...
我试图测试这种情况多次(创建使用多个德达斯相同的文件夹),每一次成功e.g,我没有任何问题。 不过,我很担心这种做法 - 我应该同步的代码或不e.g.should我使用类似
try {
folderCreationLock.lock();
File directory = new File(directoryPath);
if (!directory.exists()) {
directory.mkdir();
}
} finally {
folderCreationLock.unlock();
}
}
还是我安全只
directory.mkdir();
感谢,干杯!
@AndyTurner如果两个线程正在尝试同时创建相同的文件夹,该怎么办?它会导致某种错误? –
操作系统应该照顾这个 – wero
为什么你使用'文件'?这是2015年,使用java.nio.file – fge