标签:控制 thread 实现 oid stat str 面试 com loop
1.大纲
线程池介绍
创建与停止线程池
常见的线程池特点与用法
任务太多,怎么拒绝
钩子方法
实现原理,源码分析
使用线程池的主要点
1.重要性
使用中重要
面试中重要
2.池
线程可以复用
可以控制资源的总量
3.不使用线程池些的程序
这里有两个程序,只粘贴进行循环对每个任务进行创建线程,并执行
package com.jun.juc.threadpool;
/**
* for循环执行每一个任务的线程
* 可以正常的执行,但是有些问题
* 开销大,反复的操作系统进行创建与销毁
*/
public class ForLoop {
public static void main(String[] args) {
for (int i = 0; i< 10000; i++){
Thread thread = new Thread(new Task());
thread.start();
}
}
static class Task implements Runnable{
@Override
public void run() {
System.out.println("执行了任务");
}
}
}
4.为什么使用线程池
反复的创建,开销大
让一部分的线程保持工作,反复的执行任务
过多的线程会占用太多的内存
使用少量的线程
5.线程池的好处
加快响应速度
更好的利用CPU,与内存。选择合适的线程数
统一管理
6.使用场景
服务器接收大量的请求
多个线程的创建
标签:控制 thread 实现 oid stat str 面试 com loop
原文地址:https://www.cnblogs.com/juncaoit/p/12866361.html