一、线程池优点:

  1. 提高响应速度(减少了创建新线程的时间)
  2. 降低资源消耗(重复利用线程池中线程,不需要每次都创建)
  3. 便于线程管理
    1. corePoolSize 线程池大小
    2. maximumPoolSize 最大线程数
    3. keepAliveTime 线程没有任务时最多保持多长时间后终止

二、线程池的使用

  1. 创建指定线程数量的线程池(ExecutorService类)
  2. 将要执行操作的线程 线程对象(Runnale或Callable) 传递给ExecutorServie
  3. 关闭线程池 ```java

/**

  • 创建人:LYY
  • 创建时间:2022/4/29
  • 线程的创建方式四:
    1. 创建指定数量的线程池对象
    1. 指定指定的线程操作. 将要执行线程操作的对象(Runnable或Callable)传递给线程池
    1. 关闭线程池 */ public class ThreadPoolTest {

    public static void main(String[] args) {

    // 线程池对象 ExecutorService executorService = Executors.newFixedThreadPool(10);

    ThreadPool threadPool = new ThreadPool(); executorService.execute(threadPool);

    // 关闭线程池 executorService.shutdown(); // 匿名接口 Runnable r = new Runnable() {

    1. @Override
    2. public void run() {
    3. System.out.println("匿名接口实现!");
    4. }

    };

    // 匿名子类 Thread t = new Thread(){

    1. @Override
    2. public void run() {
    3. System.out.println("我是匿名子类");
    4. }

    };

    t.start(); Thread r1 = new Thread(r); r1.start(); } }

class ThreadPool implements Runnable{

  1. @Override
  2. public void run() {
  3. for (int i = 0; i < 100; i++) {
  4. if (i % 2 == 0) {
  5. System.out.println(Thread.currentThread().getName() + " :" + i);
  6. }
  7. }
  8. }

}

```