マルチコア時代のCPUリソースを有効活用--Java EE 7で進化した並列処理を理解する

森英幸
2013-06-05 10:58:00
  • このエントリーをはてなブックマークに追加

 さらに、ManagedTaskListenerインターフェースを使って、タスクのライフサイクル管理を行うことも可能だ。具体的には、ManagedTaskListenerインターフェースにtaskSubmitted(submitメソッド実行時)、taskStaring(タスクの実行準備時)、taskAborted(異常終了時)、taskDone(正常終了時)の各メソッドを定義すると、タスクの状態に応じて独自の処理を行わせることができるのである。たとえば、タスクの状態が変化したときにロガーを呼び出してログを記録するといった使い方が可能だ。

 このほか、Concurrency Utilities for Java EEには、タスクに独自の付加情報(コンテキスト情報)を含めて実行するためのContextServiceManagerや、スレッドプールをカスタマイズするためのThreadFactoryなど、より高度で柔軟な並列処理を実現するための機能も用意されている。

 「後ろ側で一斉に計算処理を実行させたい、複数ソースからのデータ収集を並行して行わせたいといったときに、Concurrency Utilities for Java EEを利用すれば、マルチコアのCPUを適切に使ってパフォーマンスを改善することができます」(寺田氏)

 ここまでConcurrency Utilities for Java EEの概要と簡単な使用方法を紹介した。使いこなすには、それなりの知識とスキルが必要となる機能だが、その恩恵は計り知れないものがある。特にビッグデータの利活用が注目を集めている現在においては、高速なデータ処理を可能にする基盤として重要な意味を持つことになるだろう。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]