进阶day06-线程池ThreadPoolExecutor的创建--方式一
This commit is contained in:
44
javaSE-day06/src/com/inmind/thread_pool10/Demo10.java
Normal file
44
javaSE-day06/src/com/inmind/thread_pool10/Demo10.java
Normal 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("程序程序");
|
||||
}
|
||||
}
|
||||
20
javaSE-day06/src/com/inmind/thread_state09/Demo09.java
Normal file
20
javaSE-day06/src/com/inmind/thread_state09/Demo09.java
Normal 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 {
|
||||
}
|
||||
Reference in New Issue
Block a user