Java итератор параллельной работы?

Я ищу класс, в котором я могу переопределить метод для выполнения работы и вернуть результаты как итератор. Что-то вроде этого:

ParallelWorkIterator<Result> itr = new ParallelWorkIterator<Result>(trials,threads) {

  public Result work() {
    //do work here for a single trial...
    return answer;
  }

};
while (itr.hasNext()) {
  Result result = itr.next();
  //process result...
}

Это в основном будет использоваться для таких вещей, как симуляции Монте-Карло, но я не хочу иметь дело с настройкой пулов потоков и управлением возвращающимися потоками каждый раз. Я катал свой собственный класс, которыйhopefully выполняет это, но я не достаточно уверен в этом и думал, что проверю, существовало ли что-то подобное.

Изменить: чтобы было ясно, я хочу, чтобы он продолжал работать в фоновом режиме и ставил в очередь результаты после каждого метода работы, пока все испытания не будут завершены. Поэтому следующий метод может ждать возврата, пока в очереди не будет результата.

Ответы на вопрос(3)

Ваш ответ на вопрос