【发布时间】:2011-07-08 13:17:11
【问题描述】:
在遇到 mkdirs() 的问题并浏览互联网后,我觉得 mkdirs() 存在线程安全问题。
当多个线程可能试图创建相似的文件结构时,是否有办法确保正确创建目录?
谢谢
(在我的情况下,我将在 Android 上使用它)
【问题讨论】:
-
您能否提供参考资料说明您为什么认为
mkdirs()不是线程安全的? -
是否有任何已知的细节(对于 J2SE 和 Android)在哪些情况下这个问题很可能会出现? CPU 核心数、线程数、操作系统数、文件系统数?我正在尝试提出这个问题以进行测试。
-
@TedHopp 链接已失效?你能重新链接或解释一下是什么吗?
-
@cooton 我同意
mkdirs()似乎不是同步的! -
@TedHopp 当多个线程正在运行并想要创建一个目录可以说/data/abc。第一个线程现在来执行方法
mkdir(),而 mkdir() 正在进行中,第二个线程来检查 dir 是否已经存在并知道它不存在并执行mkdir()。
标签: java android io thread-safety mkdir