AMG Solution

パフォーマンスチューニングで便利! Callableクラスを使った並列処理

feels

 
こんにちは。ぐっさんです。

Webシステムにおいて、パフォーマンスというのは、エンジニアにとって悩みの種だと思います。
そこで、今回ご紹介するのがCallableクラスを使った並列処理です。
だいぶ昔からJavaで用意されていますが、こちらを利用することで、複数の処理を並列して実行することができます。

10個の処理を5スレッドで実行したサンプルは、下記の通りです。

1.Executorクラスに実行スレッド数を渡して、インスタンスを生成します。
2.Callbleクラスのcallメソッドを実装して、Taskリストに登録します。
3.実行サービスを終了します。

実行結果は、下記の通りです。

CallableSampleクラスの実行が終わってもスレッド処理が実行されていることが分かります。

スレッド処理を待ってから、処理を実行したい場合もあると思います。
その時は、Taskリストを用意することで、処理を待つことができます。
スレッド処理を待つサンプルは、下記の通りです。

1.Executorクラスに実行スレッド数を渡して、インスタンスを生成します。
2.Callbleクラスのcallメソッドを実装して、Taskリストに登録します。
3.スレッド処理を待って、結果を受け取ります。
4.実行サービスを終了します。

実行結果は、下記の通りです。

スレッド処理が終わってからCallableSampleクラスの実行が終わっていることが分かります。

パフォーマンスチューニングを行う際の1つの手段として、並列処理は有効です。
また、試してみたい方は、サンプルプログラムをブログ内でコピーできますので、試してみてください。

よいパフォーマンスチューニングライフを!

feels recruit

YAMAGUCHI'S BLOG

山口博史の記事

山口博史の記事の最新情報をお届けいたします。

SAME CATEGORY BLOG

この記事と同様のカテゴリー記事

feelsでSFA・CRM
はじめました。
LOADING