並列化されたサブタスク セットの順次実行される部分に大きなタスクを分離できるようにする GPars 機能を探しています。
つまり、配列サイズKを反復し、それぞれがthreadCountのサイズを持つ並列タスク ブロックの順次割り当てを行います 。
言い換えれば、最初に配列を反復せず、一度にすべてのタスクを送信しますが、前のブロックの準備ができたら (OOM を防ぐ)、ページネーションなどを使用して、割り当てを順次実行します。
以下のコードのようなものですが、最初にページをリストしてタスクを送信する代わりに、ページを順番に処理する必要があります。
myHugeList.getNextPage().each {
withPool(threadCount) { Closure.callAsync().get() }
}
ありがとう、イェフィム