Groovy で GPars を使用して、3 つのスレッドを起動していくつかの作業を並行して行います...
GParsPool.withPool(3){
result = myList.collectParallel{
processItem(it)
}
}
これは正常に動作しますが、起動されたスレッド番号を表すクロージャーにインデックスが必要です。ループがないため、そのようなインデックスにアクセスする方法がわかりません。すべてが並行して起こっています。
、これを使用してみeachWithIndexParallel
ましたが、Groovy は (ArrayList, Integer) に対してそのようなメソッドがないと文句を言います
GParsPool.withPool(3) {
result = myList.eachWithIndexParallel{ i ->
processItem( it, i)
}
}