首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
xunberg
掘友等级
好想财务自由的程序员
|
智慧芽
别人都祝你开心快乐,我只愿你历尽山河,觉得人间值得。
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
67
文章 65
沸点 2
赞
67
返回
|
搜索文章
最新
热门
你知道ThreadPoolExecutor是怎么存储线程池状态和线程数量的么?
ThreadPoolExecutor 用ctl来存储当前的状态和当前的线程数的,这段代码 挺有意思的,大量的逻辑运算在里面 ,新手一上来看 本懵逼,其实一开始 我也是的。 先说下结论 这个是用了32位中的高三位去存储了当前的线程状态,后面的用来存储线程数量,所以线程数量,理论上…
ConcurrentHashMap 怎么样去保证线程安全的, 读操作为什么不需要加锁?
首先 我们还是要先了解下ConcurrentHashMap 是什么 在那种场景下使用。 看名字 我们知道 首先 这个类应该是 在java.util.concurrent包中(JUC)这个包很重要,我们常见的 线程安全的集合 都会在这个包里面,再看后面的是HashMap. Has…
ThreadPoolExecutor是怎么去执行一个任务的?
前面一遍文章 我们看了下FutureTask的源码,知道了怎么样去获取一个任务的返回值,今天我们看下ThreadPoolExecutor。 ThreadPoolExecutor 看名词 我们就可以 看做是ThreadPool 和Executor的结合,大概意思我们也能知道就是线…
带你看看Java-AQS同步器 源码解读<五> 条件队列Condition下
isOnSyncQueue 方法 就是判断当前节点是否在同步队列SyncQueue中,如果是的话 就跳出while循环执行后面的方法,如果不在的话 那就要进入while循环体呢 做线程等待了,至于为什么要这样判断,那时因为node 节点加入到ConditionQueue 中,如…
带你看看Java-AQS同步器 源码解读<四> 条件队列Condition上
第三篇和大家分析了同步队列的共享模式,有的小伙伴反应前面的3篇文章写的有点儿干,可能我没注意自己的写作方法和方式,今天这篇我就改变下风格。 过了1分钟。。。 过了2分钟。。。 排了1分钟后。。。。 不知道 大家看了上面的例子 你有什么感触,食堂排队吃饭 就相当于一个Sync Q…
带你看看Java-AQS同步器 源码解读<三>共享锁
既然说道共享锁和独占锁,那2者最本质的区别是什么呢,大家应该记得AQS中有一个同步器状态State 字段,其实说说白了共享模式和独占模式,就是同步器的状态是否允许被多个线程所获取,比如我们之前说的ReentrantLock就是独占锁的模式,因为同步器状态只能被一个线程所获取,那…
带你看看Java-AQS同步器 源码解读<二>
很快 我们找到了tryRelease在Sync中的实现,题外说下Sync 2个子类一个非公平锁一个公平锁,区别就是在加锁,解锁其实都一样的,不信看代码结构就能看到,2个子类的解锁都没有重写 都是用了Sync类中的实现。
带你看看Java-AQS同步器 源码解读<一>
AQS 全称 AbstractQueuedSynchronizer 中文翻译同步器 同步器是java中各种锁实现的基础,非常重用的 。比如我们线程池里面的Worker 类 我们的重入锁ReentrantLock,信号量Semaphore,CountDownLatch 等等 首先…
个人成就
文章被点赞
112
文章被阅读
29,674
掘力值
958
关注了
12
关注者
24
收藏集
6
关注标签
19
加入于
2016-07-20