首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
IT乐知
掘友等级
JAVA工程师
it乐知·程序员的私房笔记
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
19
文章 19
沸点 0
赞
19
返回
|
搜索文章
最新
热门
一文弄懂最复杂并发工具类读写锁源码
前面几篇文章分析了AQS下实现类的使用,今天讲最后一个也是最复杂的一个ReentrantReadWriteLock。主要功能ReentrantLock同一时刻只支持一个线程拥有锁,但在多数情况下都是
并发工具类闭锁CountDownLatch介绍与源码解析
前面看了ReentrantLock的源码,而闭锁CountDownLatch可能大家见得少,但是他也是AQS下的一个并发工具类,今天来简单介绍一下它。 CountDownLatch只有一个构造方法“public CountDownLatch(int count)”,两个awa…
多线程并发支撑基础之JAVA内存模型
Java内存模型可以说是Java并发的底层支持,了解Java内存模型才能正在了解Java并发。 在内存中设置一个变量“value = 1;”那么其他线程能在什么时候读取到这个结果呢?有可能不能立即甚至永远都读不到。比如指令顺序与源代码中的顺序不同;编译器会把变量保存在寄存器而不…
多线程并发之原子变量与非阻塞同步机制
前面所有对资源同步的实现都是加锁,加锁就会出现阻塞,实际上还可以实现不用加锁并且是非阻塞实现同步。 通过加锁能够保证线程通过独占的方式来访问和修改变量,并且对修改后的变量对之后获得这个锁的其他线程是可见的。 线程挂起与恢复的开销:当存在竞争时,竞争失败的线程会被挂起然后在后面…
阻塞队列来看并发库中对线程阻塞的实现
在上一篇文章《多线程并发基础通过Object的方法实现阻塞队列》中通过层层优化,最终采用Object的wait()与notifyAll()就实现了一个高响应并且不浪费CPU的阻塞队列。 通过两个Condition对象notFull、notEmpty分别控制控制put与take方…
个人成就
文章被点赞
65
文章被阅读
41,695
掘力值
1,380
关注了
20
关注者
11
收藏集
0
关注标签
6
加入于
2020-07-14