Lock锁实现原理:底层基于AQS+CAS+LockSuppprt锁实现
Synchronized与Lock锁之间的区别:
Lock锁是基于AQS封装的锁,结合CAS实现,而Lock锁的升级过程需要自己实现;
Synchronized是基于C++虚拟机封装,自动实现锁的升级过程,JDK1.6对其升级过程进行了优化。
Lock与Synchronized的锁的粒度不同,Synchronized只能放在类或方法上,Lock可以锁起任意代码块。
线程的阻塞和唤醒就是通过LockSuppprt的park和unpark方法来实现的。
谈谈Synchronized与Lock锁
最新推荐文章于 2024-07-21 22:27:18 发布