进阶day06-线程池ThreadPoolExecutor的创建--方式一

This commit is contained in:
2026-03-10 09:48:04 +08:00
parent 89a4862aaa
commit a996cfdb1a
2 changed files with 64 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
package com.inmind.thread_pool10;
import java.util.concurrent.*;
/*
在java中使用一个接口表示线程池ExecutorService
如何获取线程池对象??
方式一直接创建实现类ThreadPoolExecutor 的对象
方式二Executors线程池的静态方法
方式一的构造方法:
ThreadPoolExecutor(
int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
BlockingQueue<Runnable> workQueue,
ThreadFactory threadFactory,
RejectedExecutionHandler handler)
参数一corePoolSize指定线程池核心线程的数量
参数二maximumPoolSize指定线程池的最大线程数量
参数三keepAliveTime指定临时线程的存活时间
参数四unit指定临时线程存活时间单位
参数五workQueue 指定线程池的任务队列
参数六threadFactory指定线程池的线程工厂
参数七handler指定线程池的任务拒绝策略
*/
public class Demo10 {
public static void main(String[] args) {
//使用多态创建线程池
ExecutorService threadPool = new ThreadPoolExecutor(
3,
5,
8,
TimeUnit.SECONDS,
new ArrayBlockingQueue<>(4),
Executors.defaultThreadFactory(),
new ThreadPoolExecutor.AbortPolicy());
System.out.println("程序程序");
}
}

View File

@@ -0,0 +1,20 @@
package com.inmind.thread_state09;
/*
线程状态。 线程可以处于以下状态之一:
NEW
1.新建状态 new Thread(),创建线程对象时
RUNNABLE
2.运行状态 thread.start()线程启动就是运行状态
BLOCKED
3.阻塞状态遇到synchronized关键字还没有锁对象线程就处于阻塞状态
WAITING
4.无限等待状态:当一个线程必须等着其他线程去唤醒,这就是无限等待状态(wait)
TIMED_WAITING
5.计时等待:当一个线程,等着时间到了,之后立马开始运行,这就是计时等待状态(sleep)
TERMINATED
6.结束状态:
1.线程正常执行完毕,就是结束状态
2.线程非正常执行完毕stop方法
*/
public class Demo09 {
}