执行者或withPool构造

时间:2014-10-20 10:58:55

标签: grails groovy

我有一个收藏品。对于集合中的每个项目,我需要进行Web服务调用,然后更新缓存中的内容。我按顺序做这个,但是太慢了。集合中的项目及其Web服务调用彼此独立。因此,任何Web服务调用都不会干扰任何其他服务。

所以我想要并行发生这种情况。我打算用

withGroup {
}

构造,但这只适用于处理完全在闭包控制范围内的数据吗?另一种方法是使用Java执行器吗?

1 个答案:

答案 0 :(得分:1)

promises怎么办?

类似的东西:

def promises = items.collect{ item -> 
    task { 
        triggerWebService(item) 
    } 
}
def result = waitAll(promises)