Como executo duas tarefas simultaneamente e aguardo os resultados no Groovy?

Eu tenho uma grande tarefa de processamento que, acredito, está madura para ser mais eficiente com simultaneidade e paralelismo.

Eu dei uma olhada nos documentos do GPars e achei-os bastante confusos, então espero que as pessoas aqui possam ajudar.

A primeira tarefa que gostaria de fazer em paralelo atualmente é assim:

def providerOneProgrammes = providerOneProgrammeService.getProgrammes(timeWindow)
def providerTwoProgrammes = providerTwoProgrammeService.getProgrammes(timeWindow)

ambos retornam uma lista de objetos e ambos podem ser executados em paralelo.

Eu gostaria de executá-los juntos e, em seguida, esperar que eles terminem antes de processar as listas de devolução (vou procurar por correspondências entre as listas, mas eu vou chegar a isso mais tarde).

obrigado

Rakesh

questionAnswers(1)

yourAnswerToTheQuestion