首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何关于Gpars runForkJoin和forkOffChild方法

如何关于Gpars runForkJoin和forkOffChild方法
EN

Stack Overflow用户
提问于 2012-09-30 19:47:12
回答 1查看 246关注 0票数 0

我正在尝试这些方法,但没有成功,如果有人能帮助我,我会很高兴。我使用的是groovy,我有两个字符串映射。我想用线程匹配两个映射的字符串(由gpars使用),例如: def firstMap = "a":"A","b":"B“def secondMap = "c":"C","a":A”

在映射之间进行相等的正常方法是

代码语言:javascript
复制
fistMap.findAll().each { first ->
    secondMap.findAll.each { second ->
       if (first.key.equals(second.key) && (first.value.equlas(second.value))
         //saveItIntoArray
  }
}

我想用gpars线程来实现,所以我尝试了:

代码语言:javascript
复制
withPool(2) {
    runForkJoin(firstMap) { task ->
      task.each {
         secondMap.each {
            //equals
        }
        forChild(?)
     }
  }
}

我对此还是个新手,我真的不知道该怎么做。如果有任何帮助,我将不胜感激。谢谢,或者。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-01 13:56:10

我建议使用并行集合:

代码语言:javascript
复制
def firstMap = ["a":"A", "b":"B"]
def secondMap = ["c":"C", "a":"A"].asImmutable()
withPool{
    println firstMap.findAllParallel { fk, fv -> secondMap.findResult { sk, sv -> fk == sk && fv == sv ? [(fk):fv] : null } }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12661009

复制
相关文章

相似问题

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