首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
小草莓子桑
掘友等级
小码农一枚,喜欢看美剧,看悬疑片,看书,希望大家可以多多与我交流。欢迎大家关注IT知识猫来投稿交流。
获得徽章 17
动态
文章
专栏
沸点
收藏集
关注
作品
赞
111
文章 111
沸点 0
赞
111
返回
|
搜索文章
赞
文章( 111 )
沸点( 0 )
死磕 java同步系列之StampedLock源码解析
StampedLock是java8中新增的类,它是一个更加高效的读写锁的实现,而且它不是基于AQS来实现的,它的内部自成一片逻辑,让我们一起来学习吧。 StampedLock具有三种模式:写模式、读模式、乐观读模式。 ReentrantReadWriteLock中的读和写都是一…
Java并发(8)- 读写锁中的性能之王:StampedLock
在上一篇《你真的懂ReentrantReadWriteLock吗?》中我给大家留了一个引子,一个更高效同时可以避免写饥饿的读写锁---StampedLock。StampedLock实现了不仅多个读不互相阻塞,同时在读操作时不会阻塞写操作。 为什么StampedLock这么神奇?…
Java并发(7)- 你真的了解 ReentrantReadWriteLock 吗?
在前几篇文章中了解了ReentrantLock、Semaphore与CountDownLatch后,J.U.C包中基于AQS实现的并发工具类还剩一个比较重要的:读写锁ReentrantReadWriteLock。读写锁在Java面试过程中是一个经常性考的题目,他涉及到的知识点比…
深入分析synchronized原理和锁膨胀过程(二)
上一篇文章介绍了多线程的概念及synchronized的使用方法《synchronized的使用(一)》,但是仅仅会用还是不够的,只有了解其底层实现才能在开发过程中运筹帷幄,所以本篇探讨synchronized的实现原理及锁升级(膨胀)的过程。 synchronized是依赖于…
synchronized的使用(一)
在现代计算机中往往存在多个CPU核心,而1个CPU能同时运行一个线程,为了充分利用CPU多核心,提高CPU的效率,多线程就应时而生了。 上下文切换:线程从运行状态切换到阻塞状态或者等待状态的时候需要将线程的运行状态保存,线程从阻塞状态或者等待状态切换到运行状态的时候需要加载线程…
深入理解ReentrantLock的实现原理
ReentrantLock是Java在JDK1.5引入的显式锁,在实现原理和功能上都和内置锁(synchronized)上都有区别,在文章最后我们再比较这两个锁。 首先我们要知道ReentrantLock是基于AQS实现的,所以我们得对AQS有所了解才能更好的去学习掌握Reen…
《面试补习》- Java锁知识大梳理
悲观锁,总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁。 比较适合写入操作比较频繁的场景,如果出现大量的读取操作,每次读取的时候都会进行加锁,这样会增加大量的锁的开销,降低了系统的吞吐量。 比较适…
Java并发(6)- CountDownLatch、Semaphore与AQS
上一篇文章中详细分析了基于AQS的ReentrantLock原理,ReentrantLock通过AQS中的state变量0和1之间的转换代表了独占锁。那么可以思考一下,当state变量大于1时代表了什么?J.U.C中是否有基于AQS的这种实现呢?如果有,那他们都是怎么实现的呢?…
王者并发课-铂金7:整齐划一-CountDownLatch如何协调多线程的开始和结束
在本文中,将为你介绍CountDownLatch的用法。CountDownLatch是JUC中的一款常用工具类,当你在编写多线程代码时,如果你需要协调多个线程的开始和结束动作时,可以考虑它。
深入学习 FutureTask
深入源代码层面分析 JDK1.7 中 FutureTask 实现原理
下一页
个人成就
文章被点赞
112
文章被阅读
45,257
掘力值
1,316
关注了
63
关注者
29
收藏集
36
关注标签
31
加入于
2019-08-02