1

GParsPool.withExistingPoolgpars 0.12でgparsを使用しようとしてjsr166y.ForkJoinPoolいますが、私が持っているjsr166y jarのように見えますが、そのクラス(?)を作成する方法はありません。私が作成できるのは次jsr166y.forkjoin.ForkJoinPoolのようなものだけです。

FJPool fjPool = new FJPool(2);
jsr166y.forkjoin.ForkJoinPool pool = fjPool.getForkJoinPool();// tried fjPool.createPool as well

パッケージが異なることに注意してください。そのため、実行しようとするとメソッドシグネチャエラーが発生します。これを克服する方法はありますか?

4

1 に答える 1

2

ForkJoinPool クラスは、そのコンストラクターを使用して直接構築できます。次のコードが機能することを確認してください。

import jsr166y.ForkJoinPool
import groovyx.gpars.GParsPool

def pool = new ForkJoinPool()
GParsPool.withExistingPool(pool) {
    println ([1, 2, 3, 4, 5].anyParallel{it > 3})
}

そうでない場合、互換性のないバージョンの jsr166y を使用しているとしか思えません。正しいものは「org.codehaus.jsr166-mirror:jsr166y:1.7.0」として識別されます。

ヴァーツラフ

于 2011-12-21T06:18:38.970 に答える