@Test
public void testMkdirs() throws IOException {

    final String tempDir = getCurrentTestPath().toAbsolutePath().toString();
    final String rootDir = tempDir + "/TestFileUtil_" + System.currentTimeMillis();
    final String[] dirArray = new String[10];
    for (int i = 0; i < dirArray.length; i++) {
        dirArray[i] = buildDir(rootDir);
    }
    final AtomicBoolean exception = new AtomicBoolean(false);
    final SimpleExecutor simpleExecutor = new SimpleExecutor(4);
    for (int i = 0; i < 200; i++) {
        final int count = i;
        simpleExecutor.execute(() -> {
            try {
                final String dir = dirArray[count % dirArray.length];
                System.out.println(dir);
                FileUtil.mkdirs(new File(dir));
            } catch (final Exception ex) {
                ex.printStackTrace();
                exception.set(true);
            }
        });
    }
    simpleExecutor.waitForComplete();
    simpleExecutor.stop(false);
    Assert.assertEquals(false, exception.get());
    FileUtils.deleteDirectory(new File(rootDir));
}