我正在尝试这些方法,但没有成功,如果有人能帮助我,我会很高兴。我使用的是groovy,我有两个字符串映射。我想用线程匹配两个映射的字符串(由gpars使用),例如: def firstMap = "a":"A","b":"B“def secondMap = "c":"C","a":A”
在映射之间进行相等的正常方法是
fistMap.findAll().each { first ->
secondMap.findAll.each { second ->
if (first.key.equals(second.key) && (first.value.equlas(second.value))
//saveItIntoArray
}
}我想用gpars线程来实现,所以我尝试了:
withPool(2) {
runForkJoin(firstMap) { task ->
task.each {
secondMap.each {
//equals
}
forChild(?)
}
}
}我对此还是个新手,我真的不知道该怎么做。如果有任何帮助,我将不胜感激。谢谢,或者。
发布于 2012-10-01 13:56:10
我建议使用并行集合:
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 } }
}https://stackoverflow.com/questions/12661009
复制相似问题