首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用GPars实现数据并行

使用GPars实现数据并行
EN

Stack Overflow用户
提问于 2013-01-26 06:20:49
回答 2查看 258关注 0票数 2

我在这里找到了这个例子Data Parallelism

代码语言:javascript
复制
GParsPool.withPool() {
    Closure longLastingCalculation = {calculate()}
    Closure fastCalculation = longLastingCalculation.async()
    Future result=fastCalculation()
    //do stuff while calculation performs …
    println result.get()
}

我发现它有点太广泛了。有没有办法缩短它?

也许:

代码语言:javascript
复制
GParsPool.withPool() {
    Future result = calculate().async()
    //do stuff while calculation performs …
    println result.get()
}

这样行得通吗?

如果没有,有没有其他方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-26 07:58:49

我想你需要:

代码语言:javascript
复制
Future result = { calculate() }.async()()
票数 2
EN

Stack Overflow用户

发布于 2013-01-26 08:00:50

calculate().async()将立即启动calculate方法。我敢打赌

代码语言:javascript
复制
GParsPool.withPool() {
    Future result = {calculate()}.async().call()
    //do stuff while calculation performs …
    println result.get()
}

因为async()返回一个闭包。我不确定({calculate()}.async())()是否有效,我稍后会测试它

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14531276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档