[英]Using Spring Framework, update folder mapping after a creation of a new one
[英]Lock for creation a new folder
我有以下情況:多個線程可能嘗試同時創建同一文件夾,例如
Thread 1 Thread 2
1 new File("\newfolder\").mkdir() 1 new File("\newfolder\").mkdir()
2 2
...
我嘗試多次測試這種情況(使用多個theda創建相同的文件夾),每次都成功,例如,我沒有遇到任何問題。 但是我擔心這種方法-我應該同步這段代碼還是不應該使用
try {
folderCreationLock.lock();
File directory = new File(directoryPath);
if (!directory.exists()) {
directory.mkdir();
}
} finally {
folderCreationLock.unlock();
}
}
還是我只是安全
directory.mkdir();
謝謝,加油!
正如fge
已經提到的那樣,請使用NIO 2 API。
Files.createDirectories(Paths.get("\\new\\folder"));
如果目錄\\\\new
不存在,這將創建目錄\\\\new\\\\folder
。
如果目錄\\\\new
已經存在,則僅創建其子文件夾\\\\folder
。
如果整個目錄結構已經存在,將不會創建任何內容,並且(可能是最重要的)不會引發異常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.