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.