使用java写一个mkdirs(),多线程测试类
时间: 2024-03-23 09:39:19 浏览: 113
好的,我为您提供一个简单的示例代码,包含一个自定义的mkdirs()方法和一个多线程测试类:
```java
import java.io.File;
public class MyFileUtils {
public synchronized static boolean mkdirs(String path) {
File file = new File(path);
if (!file.exists()) {
return file.mkdirs();
}
return true;
}
}
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class MultiThreadTest {
public static void main(String[] args) {
ExecutorService executorService = Executors.newFixedThreadPool(10);
for (int i = 0; i < 100; i++) {
executorService.execute(() -> {
String path = "D:/test/" + System.currentTimeMillis();
System.out.println(Thread.currentThread().getName() + ": " + MyFileUtils.mkdirs(path));
});
}
executorService.shutdown();
}
}
```
在这个示例中,MyFileUtils类中的mkdirs()方法使用了synchronized关键字来保证线程安全。在MultiThreadTest类中,我们创建了10个线程执行100次mkdirs()方法的调用,每次调用都会创建一个以当前时间戳命名的目录,并输出线程名和方法返回值。您可以运行这个测试类,观察输出结果,验证mkdirs()方法的线程安全性。
阅读全文