スレッドプールの役割
システムで実行スレッドの数を制限
実践:スレッドプールを使用するには、スレッド、ラインで待っている他のスレッドの数を制御します。
なぜ、スレッドプールを使用します
- スレッドの作成と破棄を削減
- システムは、システムがあまりにも多くを運ぶことができなかった、スレッド数の容量を調整することができます
いくつかの重要なクラス
- ExecutorServiceの:スレッドプールインターフェース
- ScheduledExecutorService:TimeTaskと同様に、反復的な作業を行って
- ThreadPoolの:デフォルトのスレッドプールの実装
- ScheduledThreadPoolExecuter:定期的なタスクスケジューラの実装クラス
スレッドプールを生成する方法
執行クラスは、ファクトリメソッドを提供します。
- newSingleThreadExecutor
- newFixedThreadExecutor
- newCachedThreadExecutor
- newScheuledThreadExecutor
例えば
固定サイズのスレッドプールを作成します。
...
ExecutorService threadPool = Executors.newFixedThreadPool(30);//创建具有30个线程的线程池
Runnable r1 = new Runable(){
public void run(){
//线程体
}
};
threadPool.execute(r1);//将任务交给线程池,其会分配空闲线程来运行这个任务。
...
ます。https://www.cnblogs.com/morninglight/p/10339711.htmlで再現