- 博客(7)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 ReentrantLock源码
ReentrantLock的大概代码结构首先,我们看一下ReentrantLock的大概结构:public class ReentrantLock implements Lock, java.io.Serializable { private final Sync sync; // 继承了 AQS abstract static class Sync extends AbstractQueuedSynchronizer { // ... } /
2020-11-23 23:42:24
128
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 AQS源码解析
简介AbstractQueuedSynchronizer,简称AQS。它为java.util.conturrent包下的常用同步组件,比如ReentrantLock,ReentrantReadWriteLock 等提供了基础支撑。AQS的子类如下图所示。AQS的内部结构public abstract class AbstractQueuedSynchronizer extends AbstractOwnableSynchronizer implements java.
2020-11-23 21:37:43
80
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 ThreadLocal源码理解
ThreadLocal是如何实现线程间数据隔离的下面是 ThreadLocal类里 set 方法的源码,我们可以从这个方法去理解实现线程间数据隔离的原理。 // ThreadLocal 类 public void set(T value) { // 1、获取当前线程 Thread t = Thread.currentThread(); // 2、获取当前线程的ThreadLocalMap对象 ThreadLocalMap map =
2020-11-22 12:32:28
148
1
原创 golang time包AddDate()方法的溢出到下个月问题(逻辑避坑)
golang time包AddDate()方法溢出到下一个月的问题避坑
2024-05-07 23:06:09
536
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人