Iterator pracy równoległej Java?

Szukam klasy, w której mogę zastąpić metodę wykonywania pracy i zwracać wyniki jak iterator. Coś takiego:

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...
}

Będzie to głównie wykorzystywane do takich rzeczy jak symulacje monte carlo, ale nie chcę zajmować się konfigurowaniem pul wątków i zarządzaniem powracającymi wątkami za każdym razem. Wyrzuciłem własną klasęufnie osiąga to, ale nie jestem w tym wystarczająco pewny i pomyślałem, że sprawdzę, czy coś takiego już istnieje.

Edytuj: Żeby było jasne, chcę, aby działał w tle, a wyniki kolejkowania po każdym powrocie metody pracy, aż wszystkie testy zostaną zakończone. Zatem następna metoda może czekać na powrót, aż w kolejce pojawi się wynik.

questionAnswers(3)

yourAnswerToTheQuestion