Scala 2.9。*以降、setMaximumPoolSize
メソッドが消えたForkJoinPool
ように見え、私が望むことを実行しているように見えることに気づきました。Scalaの並列コレクションで並列処理を制限することに関するほとんどの議論は、同じクラスのメソッドを中心にしてsetParallelism
います(これも消えましたが、私にとってはそれほど問題ではありません)が、私の場合、並列タスクは外部IOを実行でき、多くの場合ブロックされますその上に。次にForkJoinPool
、その場合により多くのスレッドを起動し、問題の共有IOリソースに対してDOSを効果的に実行しますが、これは望ましくありません。
何らかの方法でプール内のスレッドの数を制限する方法はありますか?IOでブロックされたときにスポーンする動作についてはあまり気にしませんが、IOタスクは独立しており、相互に干渉しないため、ある程度の並列処理が必要です。