ExecutorService Сводит все к одному процессу

При написании парсера возникла идея делать его с помощью многопоточки. Метода парса.

public void parse() {
    ExecutorService executorService = Executors.newFixedThreadPool(COUNT_THREAD);
    File[] files = new File(path).listFiles();

    for (File f : files) {

        CompletableFuture<Void> comp = CompletableFuture.supplyAsync(() ->
                new FindMaxTypeViolationToFile(f.getPath()).parseInputFile(), executorService).thenAccept((q) -> {
            list.add(q.keySet());
        });

    }

    System.out.println(list);
    executorService.shutdown();

}

но сколько бы я не указывал потоков в ExecutorService . Время все равно почти одинаковое

Один поток

Шесть потоков

И почему после 1й секунды какой-то поток берет на себя все последующее выполнение?


Ответы (0 шт):