スレッドプールを達成ExecuterService

オリジナルリンク: http://www.cnblogs.com/morninglight/p/10339711.html

スレッドプールの役割

システムで実行スレッドの数を制限

実践:スレッドプールを使用するには、スレッド、ラインで待っている他のスレッドの数を制御します。

なぜ、スレッドプールを使用します

  • スレッドの作成と破棄を削減
  • システムは、システムがあまりにも多くを運ぶことができなかった、スレッド数の容量を調整することができます

いくつかの重要なクラス

  • 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で再現

おすすめ

転載: blog.csdn.net/weixin_30746117/article/details/94876911