濃縮還元オレンジニュース

Java 7で登場するフォーク/ジョインを使って細粒度並列処理

この記事を読むのに必要な時間:およそ 0.5 分

Java 7にjava.util.concurrent.forkjoinパッケージとして導入予定のフォーク/ジョイン機構について解説した記事です。

Java 5より並行処理を容易に扱えるjava.util.concurrentパッケージが追加されましたが,Java 7にてより細かい粒度の並列処理を行えるフォーク/ジョインが簡単に扱えるようになります。フォーク/ジョインとは,大きな処理を複数のサブ処理に分割して並行的に処理し(フォーク)て各々の結果を合わせる(ジョイン)ことを表します。

記事では巨大な配列中から最大値を持つ要素を検索するという題材で,ForkJoinTasksをextendsしたRecursiveActionを利用して解説しています。フォーク/ジョインの実装はJava 6の環境にて取り込むことができるjsr166y.jarとして公開されていますので,実際に動かして試すことができます。

ちなみに,記事のサンプルコードでは2つのタスクをジョインするメソッドとしてcoInvoke( )が書かれていますが,現在はforkJoin( )に変更されています。

URLhttp://www.ibm.com/developerworks/jp/java/library/j-jtp11137.html

著者プロフィール

角田直行(かくだなおゆき)

普段はお仕事でPHPやJavaを使ってWeb開発をしています。一部でセレブエンジニアとか言われてますが,全然セレブじゃありません。

コメント

コメントの記入