Ich bin in Java, aber ich denke, es ist ein allgemeines Problem außerhalb von Java.Erstellen von Verzeichnissen mit mehreren Threads
Ich möchte wissen, ob es sicher ist, Verzeichnisse mit mehreren Threads zu erstellen.
In Java kann ich new File(...).mkdirs()
verwenden, um Verzeichnisse zu machen.
Was passiert, wenn zwei Threads new File(...).mkdirs()
(fast) gleichzeitig ausführen? genau
Mehr,
Thread 1 führt new File("%ROOT%/a/b/c/d).mkdirs();
und
Thema 2 new File("%ROOT%/a/b/c/e).mkdirs();
Ist diese Situation sicher ist oder nicht ausführt?
Wenn nicht, welche Probleme können auftreten?
Vielen Dank für Ihre Hilfe im Voraus!
Es ist sicher, aber eine (nicht-SSD) Festplatte kann nur an einen Ort gleichzeitig schreiben, so dass der Plattenzugriff nicht parallelisiert wird. Sie werden wahrscheinlich nicht viel von einem Leistungsgewinn sehen. Auch [die Klasse java.io.File ist veraltet;] (http://java7fs.wikia.com/wiki/Why_File_sucks) sollten Sie [Files.createDirectories] (http://docs.oracle.com/javase /8/docs/api/java/nio/file/Files.html#createDirectories-java.nio.file.Path-java.nio.file.attribute.FileAttribute...-) stattdessen. – VGR