我使用Java进行编码,但我认为这是Java之外的更普遍的问题。
我想知道使用多个线程创建目录是否安全。
在Java中,我可以使用new File(...).mkdirs()
创建目录。
如果两个线程同时执行new File(...).mkdirs()
(差不多),会发生什么?
更准确地说,
线程1执行new File("%ROOT%/a/b/c/d).mkdirs();
和
线程2执行new File("%ROOT%/a/b/c/e).mkdirs();
这种情况是否安全?
如果没有,会出现什么问题?
提前感谢您的帮助!
答案 0 :(得分:1)
这是安全的。
操作系统只是从它看作第一个的指令创建目录,然后只从第二个创建缺少的目录。
您无法保证首先会创建哪些目录,但指令会同时运行,您可能并不关心!