Java итератор параллельной работы?
Я ищу класс, в котором я могу переопределить метод для выполнения работы и вернуть результаты как итератор. Что-то вроде этого:
ParallelWorkIterator itr = new ParallelWorkIterator(trials,threads) {
public Result work() {
//do work here for a single trial...
return answer;
}
};
while (itr.hasNext()) {
Result result = itr.next();
//process result...
}
В основном это будет использоваться для моделирования Монте-Карло, но я неЯ не хочу иметь дело с настройкой пулов потоков и управлением возвращающимися потоками каждый раз. Я катал свой собственный класс, которыйс надеждой выполняет это, но яЯ не достаточно уверен в этом и думал, что япроверил, если что-то подобное уже существовало.
Изменить: чтобы было ясно, я хочу, чтобы он продолжал работать в фоновом режиме и ставил в очередь результаты после каждого метода работы, пока все испытания не будут завершены. Поэтому следующий метод может ждать возврата, пока в очереди не будет результата.