happens-before和as-if-serial语义

happens-beforehappens-before定义happens-before的概念最初由LeslieLamport在其一篇影响深远的论文(《Time,ClocksandtheOrderingofEventsinaDistributedSystem》)中提出,有兴趣的可以google一下。

锁优化

锁优化这里的锁优化主要是指JVM对synchronized的优化。偏向锁偏向锁的思想是偏向于让第一个获取锁对象的线程,这个线程在之后获取该锁就不再需要进行同步操作,甚至连CAS操作也不再需要。当锁对象第一次被线程获得的时候,进入偏向状态,标记为101。同时使用CAS操作将线程ID记录到MarkWor

锁的种类与一些机制

锁可重入锁重入锁ReentrantLock,顾名思义,就是支持重进入的锁,它表示该锁能够支持一个线程对资源的重复加锁。除此之外,该锁的还支持获取锁时的公平和非公平性选择。同时考虑如下场景:当一个线程调用Mutex的lock()方法获取锁之后,如果再次调用lock()方法,则该线程将会被自己所阻塞,原