Я хочу создать код пула потоков в Java, где задача будет ждать, пока не завершится функция, вызванная в задаче. Я прошел много примеров, но пока не могу достичь своей цели.
public class ThreadController {
public static void main(String args[]) {
ExecutorService service = Executors.newFixedThreadPool(5);
List<String> list = new ArrayList<String>();
list.add("john");
list.add("reck");
list.add("moni");
list.add("sasha");
list.add("pely");
for (int p = 0; p < 100; p++) {
for (int r = 0; r < 5; r++) {
Task task = new Task(list.get(r));
service.submit(task);
}
}
}
}
final class Task implements Runnable {
private String taskSimNo;
public Task(String no) {
this.taskSimNo = no;
}
public void run() {
Initiate.startingInitiate(this.taskSimNo);
}
}
Полная идея этой функции - вызвать функцию processing (), которая является методом класса mainMethod. Итак, я хочу запустить 10 потоков параллельно, но 11-я задача должна начинаться только тогда, когда завершится выполнение любой из 10 задач, поэтому мне нужно реализовать функцию ожидания, чтобы задача завершилась. Любые предложения, пожалуйста.