摘要:前言 ThreadLocal可以用来存储线程的本地数据,做到线程数据的隔离 ThreadLocal的使用不当可能会导致内存泄漏,排查内存泄漏的问题,不仅需要熟悉JVM、利用好各种分析工具还耗费人工 如果能明白其原理并正确使用,就不会导致各种意外发生 本文将从使用场景、实现原理、内存泄漏、设计思想等层
阅读全文
摘要:10分钟巩固多线程基础 前言 多线程是并发编程的基础,本篇文章就来聊聊多线程 我们先聊聊概念,比如进程与线程,串行、并行与并发 再去聊聊线程的状态、优先级、同步、通信、终止等知识 进程与线程 什么是进程? 操作系统将资源分配给进程,使用进程进行调度,但进程遇到阻塞任务时,为了提升CPU利用率,会进行
阅读全文
摘要:上篇文章12分钟从Executor自顶向下彻底搞懂线程池中我们聊到线程池,而线程池中包含阻塞队列 这篇文章我们主要聊聊并发包下的阻塞队列 阻塞队列 什么是队列? 队列的实现可以是数组、也可以是链表,可以实现先进先出的顺序队列,也可以实现先进后出的栈队列 那什么是阻塞队列? 在经典的生产者/消费者模型
阅读全文
摘要:### 前言 上篇文章 [13分钟聊聊并发包中常用同步组件并手写一个自定义同步组件](https://juejin.cn/post/7274475842998042665) 聊到并发包中常用的同步组件,并且还手把手实现了自定义的同步组件 本篇文章来聊聊并发包下的另一个核心-线程池 阅读本文大概12分
阅读全文
摘要:### 前言 上篇文章[10分钟从源码级别搞懂AQS(AbstractQueuedSynchronizer)](https://juejin.cn/post/7273506068104478760)说到JUC并发包中的同步组件大多使用AQS来实现 本篇文章通过AQS自己来实现一个同步组件,并从源码级
阅读全文
摘要:## Synchronized 本篇文章将围绕synchronized关键字,使用大量图片、案例深入浅出的描述CAS、synchronized Java层面和C++层面的实现、锁升级的原理、源码等 大概观看时间17分钟 可以带着几个问题去查看本文,如果认真看完,问题都会迎刃而解: 1、synchro
阅读全文
摘要:10分钟从源码级别搞懂AQS(AbstractQueuedSynchronizer) ### 前言 上篇文章[15000字、6个代码案例、5个原理图让你彻底搞懂Synchronized](https://juejin.cn/post/7272015112819556412)有说到synchroniz
阅读全文