一、线程池优点:
- 提高响应速度(减少了创建新线程的时间)
- 降低资源消耗(重复利用线程池中线程,不需要每次都创建)
- 便于线程管理
- corePoolSize 线程池大小
- maximumPoolSize 最大线程数
- keepAliveTime 线程没有任务时最多保持多长时间后终止
二、线程池的使用
- 创建指定线程数量的线程池(ExecutorService类)
- 将要执行操作的线程 线程对象(Runnale或Callable) 传递给ExecutorServie
- 关闭线程池 ```java
/**
- 创建人:LYY
- 创建时间:2022/4/29
- 线程的创建方式四:
- 创建指定数量的线程池对象
- 指定指定的线程操作. 将要执行线程操作的对象(Runnable或Callable)传递给线程池
- 关闭线程池 */ 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() {
@Override
public void run() {
System.out.println("匿名接口实现!");
}
};
// 匿名子类 Thread t = new Thread(){
@Override
public void run() {
System.out.println("我是匿名子类");
}
};
t.start(); Thread r1 = new Thread(r); r1.start(); } }
class ThreadPool implements Runnable{
@Override
public void run() {
for (int i = 0; i < 100; i++) {
if (i % 2 == 0) {
System.out.println(Thread.currentThread().getName() + " :" + i);
}
}
}
}
```