JAvaマルチスレッド初心者(Executorコントローラ)

1202 ワード

Executorコントローラはjdk 1である.5以降に追加されたツールクラス.仲介者として同時タスクを統一的に管理するために使用されます.
 1.CacheThreadPoolは、タスクごとにスレッドを開きます.
ExecutorService exec = Executors.newCachedThreadPool();
		for (int i = 0; i < 2; i++) {
			final int c = i;
			exec.execute(new Runnable(){

				public void run() {
					// TODO Auto-generated method stub
					System.out.println(c+":"+Thread.currentThread().getName());
				}}
			);
		}
		exec.shutdown();

shutdown()メソッドの呼び出しにより、新しいタスクがExecutorにコミットされないようにします.
 
2.FixedThreadPoolは限られたスレッドを使用してタスクを完了します.スレッドプールの概念のように、使用するスレッドは指定された数を超えません.
 
ExecutorService exec = Executors.newFixedThreadPool(1);

3.SingleThreadExecutorは1つのスレッドのみを生成し、すべてのタスクはこのスレッドで実行され、順番に実行されているようです.前のタスクが完了してから、後のタスクが実行されます.これらのタスクはキューの形式を形成します.
 
ExecutorService exec = Executors.newSingleThreadExecutor();

4.ScheduledExecutorServiceはタイマーの代わりにタスクの割り当てを行うことができます
 
ScheduledExecutorService scheduExec = Executors  
            .newScheduledThreadPool(1);