点击上方“Java基基”,选择“设为星标”
做积极的人,而不是积极废人!
每天 14:00 更新文章,每天掉亿点点头发...
源码精品专栏
来源:blog.csdn.net/weixin_42687074/
前文:
单线程——多线程的开启——线程锁——线程同步工具——手写连接池——连接池工具类。
基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能
项目地址:https://github.com/YunaiV/ruoyi-vue-pro
视频教程:https://doc.iocoder.cn/video/
一、线程
1.线程的概念
2.线程与进程的关系
3.定义:
区别:如上!!!
4.wait()和sleep()
5.线程的状态及其他API
基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能
项目地址:https://github.com/YunaiV/yudao-cloud
视频教程:https://doc.iocoder.cn/video/
二、线程锁
线程并发同步时,引入了锁机制。
普通锁机制 :synchronized 修饰代码块与volatile 修饰成员变量
Lock
!!共同点:都是从外面创建锁类、再把锁传到线程里对变量对象赋值。
(1)重入锁
(2)读写分离锁
区别:
三、线程同步工具类
!!共同点:都是从外面创建工具类、再把工具类的参数传到线程里面执行。
CountDowmLatch闭锁:等待所有线程执行完
CyclicBarrier栅栏:等待所有线程达到后开启
Exchanger交换机:交流数据
信号量
(1)概念
(2)应用场景一
(3)应用场景二
四、线程池
为什么使用线程池
线程池的核心队列
阻塞式队列:只用于线程对象,主要用于引出线程池
手动创建线程池
Executors工具创建线程
核心线程:0(临时线程)、1(队列)、N(队列)
定时线程:
五、彩蛋图
欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢:
已在知识星球更新源码解析如下:
最近更新《芋道 SpringBoot 2.X 入门》系列,已经 101 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。
提供近 3W 行代码的 SpringBoot 示例,以及超 6W 行代码的电商微服务项目。
获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。
文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)