![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程与并发
文章平均质量分 92
蛙广志
定位抖音直播 server,有需要可以私聊内推
展开
-
【多线程】AQS中条件变量await()和signal()实现原理
想要了解AQS中条件变量await()和signal()实现原理,需要先对AQS的前置知识有深入了解,博主的万字长文带你读懂AQS的实现原理:传送门条件变量的存储结构本质上每个条件变量其实就对应着一个等待队列,其实现类是ConditionObject等待队列是一个单向链表,我们来看一下ConditionObject的成员变量 //队列的第一个节点 private transient Node firstWaiter; //队列的最后一个节点 private transien原创 2021-04-11 11:13:41 · 804 阅读 · 1 评论 -
【多线程】深入Java线程池,超硬核,带你手写线程池!
本文将全面并且深入地带你全面了解Java线程池,从源码到手写,通俗易懂又硬核,看了不吃亏,不看必后悔~~废话不多说,咱们开始原创 2021-04-09 17:45:58 · 236 阅读 · 0 评论 -
【多线程】关于ThreadLocal的,进来看看,你想知道的我都告诉你~
关于多线程的学习,如果不了解ThreadLocal,那么多少有点说不过去,本文将详细讲述ThreadLocal的各个方面,相信我,看完你一定会有所收获ThreadLocal是什么?有什么用?从ThreadLocal的名字上可以看到,这是一个线程的局部变量。也就是说,只有当前线程可以访问。既然是只有当前线程可以访问的数据,自然是线程安全的。当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程原创 2021-03-26 23:26:29 · 2600 阅读 · 11 评论 -
【多线程】源码级理解AQS(长文预警)
想要深入了解ReentrantLock、CountDownLatch、Semaphore等并发包中的各种锁机制么?那么少不了理解AQS这个抽象类,一句话来说,AQS就是通过维护一个volatile的state变量以及一个FIFO等待队列来实现前提预警1.本文基于ReentrantLock的非公平锁实现机制,公平锁和非公平锁的区别并不大,会在稍后的博客中介绍2.本文并不分析共享模式和Condition条件3.AQS的实现十分巧妙,值得打开源码深深品味一番AQS的整体结构public abstrac原创 2021-03-25 17:58:13 · 1161 阅读 · 3 评论