synchronized 笔记

来源:互联网 发布:网络语言王炸什么意思 编辑:程序博客网 时间:2024/06/10 08:56
1、jdk1.5只是独占锁,jdk1.6以后Hotspot的作者经过以往的研究发现大多数情况下锁不仅不存在多线程竞争,而且总是由同一线程多次获得,为了让线程获得锁的代价更低而引入了偏向锁
2、偏向锁:当一个线程访问同步块并获取锁时,会在对象头和栈帧中的锁记录里存储锁偏向的线程ID,以后该线程在进入和退出同步块时不需要花费CAS操作来加锁和解锁

3、轻量级锁:使用CAS将对象头中的Mark Word替换为指向锁记录的指针。如果成功,当前线程获得锁

4、重量级锁:也就是独占锁,多线程情况下的,开销最大


原创粉丝点击