Я пытаюсь создать несколько задач, каждая из которых будет вызывать маршрут на нескольких маршрутизаторах. Я пытаюсь разбить основной список (ArrayList) маршрутизаторов на подсписки, которые каждый поток может перебирать.
Этот способ передачи переменных в потоки вызывает проблемы? Или это что-то еще.
nbTasks
= количество Runnables routersPerThread
= количество маршрутизаторов, которые каждый поток должен вызвать route () на
for (int i = 0; i < nbTasks; i++) {
final List<Router> routerList =
routers.subList(i * routersPerThread, (i + 1) * routersPerThread);
service.execute(new Runnable() {
@Override
public void run() {
for (Router r : routerList) {
r.route();
}
sem.release();
}
});
}