IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 并发编程之ThreadPoolExecutor源码分析 -> 正文阅读

[Java知识库]并发编程之ThreadPoolExecutor源码分析


前言

很久没写博客了,今天分享下阅读ThreadPoolExecutor线程池的核心流程的一些源码分析

关于提交优先级和执行优先级

线程池提交任务流程:核心线程创建,阻塞队列存放,最大线程数创建。
我们知道阿里的规约中明确不让使用,

newFixedThreadPool,newSingleThreadExecutor,newCachedThreadPool

我简单贴个图
在这里插入图片描述
为什么不行,注意2处,最大线程数为Integer.MAX_VALUE,可以简单理解为无限。
队列是SynchronousQueue,这是个同步队列,典型的生产者和消费者模型。当队列有任务,必须take后才能继续加入队列。
此时任务若执行时间很长,队列满的,则会创建非核心线程,但是最大线程数无限,高并发情况会拖垮机器CPU。
在这里插入图片描述
这个就是属于只有1个核心线程数,最大线程也是1。相当于一个工厂只有1个员工兼职老板。当然不推荐
在这里插入图片描述
注意这个是核心线程数和最大线程数相同,相当于没有外包干活。

提交优先级就是一个任务来了之后,是如何提交。
在这里插入图片描述

在这里插入图片描述
此处的work就是干活的人,其内部有个线程属性
在这里插入图片描述
在这里插入图片描述

当执行完start方法。就会执行work中的run方法

work的run方法
在这里插入图片描述
此时开始执行任务
什么是执行优先级?
在这里插入图片描述
当核心线程和非核心线程有任务时,便会去执行,而队列中的任务,则会等执行完毕后才去执行,这就是执行优先级:
会先把核心线程和非核心线程的任务执行完毕,再去队列中拿任务执行。

关于线程池的执行和Thread.start的区别

在这里插入图片描述

直接调用传过来的任务的方法。

在这里插入图片描述

 addWorker(null, false);

相当于创建个线程,然后去队列获取任务执行。也就是线程复用

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-05-08 07:54:27  更:2022-05-08 07:55:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 23:40:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码