首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
DioptricCoast22
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
9
文章 9
沸点 0
赞
9
返回
|
搜索文章
最新
热门
synchronized
锁实际上是加在对象上的,那么被加了锁的对象我们称之为锁对象,在java中,任何一个对象都能成为锁对象。java对象在内存中的存储结构主要有以下三个部分: 从该表格中我们可以看到,对象中关于锁的信息是存在Markword里的。 当我们创建一个对象LockObject时,该对象的部…
入门AQS
假设 T1 时刻有10个线程调用同一个ReentrantLock实例的lock()方法, 线程1 先获取锁成功,紧接着线程2 调用lock()方法,发现获取锁失败(通过CAS操作对状态位进行标记),则线程2被封装成Node节点放入AQS双向队列中,并调用LockSupport.…
由AQS和ReentrantLock来看模版方法模式
AbstractQueuedSynchronizer(AQS)的源代码,很多并发工具都是基于AQS来实现的,这也是并发专家Doug Lea的初衷,通过写一个这样的基础工具来提高j.u.c的灵活性。具体可以看这篇论文的一段原文,我摘录一下: AQS的设计和实现非常复杂,所以我打算…
ThreadLocal与弱引用
代码的逻辑很简单:在主类中定义了一个静态变量threadLocal,在主线程中先设置这个变量的字符值为"hello world main",随后在主线程中创建一个新线程,并在新线程的run方法中修改threadLocal的字符值为“new thread”,然后主线程再把thre…
个人成就
文章被点赞
4
文章被阅读
3,622
掘力值
105
关注了
18
关注者
2
收藏集
20
关注标签
3
加入于
2021-02-16