Java并发
文章平均质量分 95
ponnylv
这个作者很懒,什么都没留下…
展开
-
ReentrantReadWriteLock源码分析
一、ReentrantReadWriteLock官方文档https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReentrantReadWriteLock.htmlpublic class ReentrantReadWriteLock implements ReadWriteLock, java.io.Serializable1. 锁的获取顺序对于获取获取锁的顺序,该类并没有特殊的偏向读者或写者原创 2020-08-21 13:53:59 · 202 阅读 · 0 评论 -
AQS框架-谈谈对AQS框架的理解
AQS是一个框架,基于它我们可以实现锁和同步器,J.U.C.包中和很多锁和同步器都是基于AQS实现的。使用AQS的方式通常不是让锁或同步器直接继承AQS类,而是将AQS的子类作为锁或同步器类的一个辅助内部类,锁或同步器的方法调用AQS子类对象的方法完成同步操作。(图片来自网络)state字段AQS中最重要的一个字段就是同步状态字段state,锁和同步器的实现都是围绕着这个字段的修改展开的,AQS中也暴露出了一些方法供我们重写以操作这个字段,例如tryAcquire, tryRelease, try原创 2020-08-19 20:30:11 · 3048 阅读 · 0 评论 -
Thread.sleep, Object.wait 和 LockSupport.park 的区别
Thread.sleep, Object.wait 和 LockSupport.park 的对比原创 2020-08-15 14:53:36 · 267 阅读 · 0 评论 -
Java final关键字在JMM中的含义
参考:[1] JSR 133 (Java Memory Model) FAQ[2] The JSR-133 Cookbook for Compiler Writers一、properly constructed / this对象逸出在开始讲之前final之前,先了解一个概念,叫做 “properly constructed”。其含义是:在构造器创建对象的过程中,正在被创建的对象的引用没有发生 “逸出(escape)” 。public Test { private final int原创 2020-07-29 21:02:23 · 653 阅读 · 2 评论 -
内存一致性模型笔记 (Memory Consistency Model)
参考文档:[1] Multiprocessors should support simple memory consistency models[2] Shared MemoryConsistency Models:A Tutorial一、什么是内存模型?内存模型 (memory model),也叫内存一致性模型 (memory consistency model),它可以简单的理解为一系列对内存读写操作的规定,包括针对内存读写操作的重排序规则、可见性规则(一次读操作能否看到最近一次写入的结果?原创 2020-07-27 21:28:29 · 3743 阅读 · 2 评论 -
深入理解Java volatile关键字
以下内容均摘自 《Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 3A: System Programming Guide, Part 1》2.8.5 Controlling the Processor…The LOCK prefix invokes a locked (atomic) read-modify-write operation when modifying a memory operand. T原创 2020-07-25 14:26:02 · 1756 阅读 · 2 评论 -
SC-DRF
本文参考了Sarita V. Adve和Mark D. Hill的Weak Ordering - A New Definition And Some Implications一、顺序一致性(Sequential Consistency, SC)顺序一致性最早是由Lamport定义的,其定义如下:“… the result of any execution is the same as ...原创 2020-02-07 23:26:05 · 729 阅读 · 0 评论