Iterador de trabalho paralelo Java?

Eu estou procurando uma classe onde eu possa substituir um método para fazer o trabalho e retornar os resultados como um iterador. Algo assim:

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

Isso vai ser usado principalmente para coisas como simulações de monte carlo, mas eu não quero ter que lidar com a criação de pools de threads e o gerenciamento de threads de retorno toda vez. Eu rolei minha própria classe queesperançosamente Realiza isso, mas eu não estou confiante o suficiente e pensei em verificar se algo como isso já existia.

Editar: para deixar claro, quero que continue em execução em segundo plano e enfileire os resultados depois que cada método de trabalho for retornado até que todas as tentativas tenham sido concluídas. Portanto, o próximo método pode esperar para retornar até que haja um resultado na fila.

questionAnswers(3)

yourAnswerToTheQuestion