Java Thread の作り方

Menu Menu


Thread の起動方法

Java Thread は、Thread をextends して起動する方法と、Runnable Interface を持つオブジェクトを使う方法がある。

Class SimpleThread をこの二つの方法で起動して見よ。

二つの方法の使い分け方を考察せよ。


Thread Pool

Multi CPU システムでは、すべてのスレッドを同時に動かすよりも、CPUの数にそったスレッドのみを active にする方が良い。

ThreadPool を使って、投入したThread のキューのうち、固定した数のThread を起動してみよう。

Class SimpleThreadExecutor 三種類のThreadPool を使っているが、

        pool = Executors.newFixedThreadPool(poolSize);
        pool = Executors.newCachedThreadPool();
        pool = new MyFixedExecutorService(poolSize);

これらの差はどこにあるか考察せよ。

最後のものは、Java PathFinder で実行するように簡易なExecutor を自分で作成してみた。この実装は適切か?


Option 台数効果

ThreadPool を使って、画像処理およびNPハードな問題を解くプログラムを書き、台数効果(CPUを増やすごとに速度が向上すること)を確認せよ。

Shinji KONO / Thu Feb 5 16:40:48 2009