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