Как установить ограничение потока в Java

Допустим, у меня есть 1000 файлов для чтения, и из-за некоторых ограничений я хочу читать максимум 5 файлов параллельно. И, как только один из них будет закончен, я хочу, чтобы начался новый.

У меня есть основная функция, у которой есть список файлов, и я пытаюсь менять счетчик каждый раз, когда заканчивается один поток. но это не работает!

Есть предложения?

Ниже приводится основной цикл функций

for (final File filename : folder.listFiles()) {

    Object lock1 = new Object();
    new myThread(filename, lock1).start();
    counter++;
    while (counter > 5);
}
13
задан Bonifacio2 27 November 2019 в 17:10
поделиться