标签:控制 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