线程池

Posted zhangyugeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线程池相关的知识,希望对你有一定的参考价值。

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;

public class ThreadDemo5 {

  public static void main(String[] args) {

/**
* 创建几个线程
* 下面只创建3个线程去执行任务task
* ExecutorService exe=Executors.newFixedThreadPool(3);
*
* 创建单个线程去执行任务(线程死掉会重新启动)
* ExecutorService threadPool = Executors.newSingleThreadExecutor();
*/


/**
* 创建线程缓冲区
* 下面会创建10个线程
*/
ExecutorService exe=Executors.newCachedThreadPool();
for( int j=0;j<10;j++){
final int fi=j; //为什么要用final
exe.execute(new Runnable(){

  @Override
  public void run() {

    for(int i=0;i<10;i++)
    {System.out.println(Thread.currentThread().getName()+" "+i+"次"+"task "+fi );}
  }



  }      );
}

/**
* 定时器
*/
    ExecutorService scheduled=Executors.newScheduledThreadPool(3);
    Executors.newScheduledThreadPool(3).scheduleAtFixedRate //在固定速率调度
      (new Runnable(){

      @Override

      public void run() {
      System.out.print("bomb!");

      }



      }, 10, 2, TimeUnit.SECONDS); //10秒 2秒 单位


}

}

以上是关于线程池的主要内容,如果未能解决你的问题,请参考以下文章

什么叫线程池?线程池如何使用?

多线程(六):线程池

多线程(六):线程池

十五、线程池(六)自动创建线程池的弊端

java 如何获得线程池中正在执行的线程数?

线程池参数与线程池调优