首页
AI Coding
AIDP
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Thread
订阅
带薪摸鱼_提桶跑路
更多收藏集
微信扫码分享
微信
新浪微博
QQ
5篇文章 · 0订阅
搞定ReentrantReadWriteLock 几道小小数学题就够了
ReadWriteLock 直译过来为【读写锁】。现实中,读多写少的业务场景是非常普遍的,比如应用缓存 之前提到的互斥锁都是排他锁,也就是说同一时刻只允许一个线程进行访问,当面对可共享读的业务场景,互斥锁显然是比较低效的一种处理方式。为了提高效率,读写锁模型就诞生了 你瞧,使用…
ThreadLocal的进化——TransmittableThreadLocal
上一篇文章中,我们谈到了InheritableThreadLocal,它解决了ThreadLocal针对父子线程无法共享上下文的问题。但我们可能听说过阿里的开源产品TransmittableThrea
不会用Java Future,我怀疑你泡茶没我快, 又是超长图文!!
如果你运行上述示例代码,主线程调用 future.get() 方法会阻塞自己,直到子任务完成。我们也可以使用 Future 方法提供的 isDone 方法,它可以用来检查 task 是否已经完成了,我们将上面程序做点小修改: setException 和 set 方法非常相似,…
CountDownLatch和CyclicBarrier 傻傻的分不清?超长精美图文又来了
并发编程的三大核心是分工,同步和互斥。在日常开发中,经常会碰到需要在主线程中开启多个子线程去并行的执行任务,并且主线程需要等待所有子线程执行完毕再进行汇总的场景,这就涉及到分工与同步的内容了 其实现原理是不停的检查 join 线程是否存活,如果 join 线程存活,则 wait…
死磕synchronized底层实现
Mark Word(标记字段):默认存储对象的HashCode,分代年龄和锁标志位信息。它会根据对象的状态复用自己的存储空间,也就是说在运行期间Mark Word里存储的数据会随着锁标志位的变化而变化。 Klass Point(类型指针):对象指向它的类元数据的指针,虚拟机通过…