From a996cfdb1a7f1d9ecbe2039ed9696f8773aa9292 Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Tue, 10 Mar 2026 09:48:04 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=9B=E9=98=B6day06-=E7=BA=BF=E7=A8=8B?= =?UTF-8?q?=E6=B1=A0ThreadPoolExecutor=E7=9A=84=E5=88=9B=E5=BB=BA--?= =?UTF-8?q?=E6=96=B9=E5=BC=8F=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/inmind/thread_pool10/Demo10.java | 44 +++++++++++++++++++ .../src/com/inmind/thread_state09/Demo09.java | 20 +++++++++ 2 files changed, 64 insertions(+) create mode 100644 javaSE-day06/src/com/inmind/thread_pool10/Demo10.java create mode 100644 javaSE-day06/src/com/inmind/thread_state09/Demo09.java diff --git a/javaSE-day06/src/com/inmind/thread_pool10/Demo10.java b/javaSE-day06/src/com/inmind/thread_pool10/Demo10.java new file mode 100644 index 0000000..d1d1be6 --- /dev/null +++ b/javaSE-day06/src/com/inmind/thread_pool10/Demo10.java @@ -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 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("程序程序"); + } +} diff --git a/javaSE-day06/src/com/inmind/thread_state09/Demo09.java b/javaSE-day06/src/com/inmind/thread_state09/Demo09.java new file mode 100644 index 0000000..347e45c --- /dev/null +++ b/javaSE-day06/src/com/inmind/thread_state09/Demo09.java @@ -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 { +}