并发编程
文章平均质量分 76
蝴蝶眨几次眼睛啊
这个作者很懒,什么都没留下…
展开
-
由ReentrantLock的非公平锁简画流程和源码分析了解AQS
AQS:AbstractQueuedSynchronizer, 队列同步器,它是Java并发用来构建锁和其他同步组件的基础框架 官方文档:提供一个框架,用于实现依赖先进先出(FIFO)等待队列的阻塞锁和相关同步器(信号量,事件等)。 该类被设计为大多数类型的同步器的有用依据,这些同步器依赖于单个原子int值来表示状态。简单来说,就是维护一个state 变量来标志锁的被占有还是释放。 state 0代表释放,1或者>1(锁重入)代表被占有,还有个双向队列用来存放阻塞等待的线程节点 从Reentr.原创 2020-06-05 18:13:30 · 1022 阅读 · 0 评论 -
由volatile分析jmm内存模型
volatile是java 中的一个关键字,类似synchronized又由不同,这里不再讲述synchronized volatile :一个变量被volatile 修饰之后,线程之间可以共享,就是所谓的线程共享变量 但为什么能够线程共享,又为什么volatile 不像synchronized能保证原子性,这要从java内存模型来说起 java 中,每个线程都是有各自的工作内存,而在进行操作的时候,都是从主内存读取到工作内存中来进行运算或者操作,然后再回写到主内存中 ...原创 2020-05-30 14:30:52 · 1270 阅读 · 0 评论