面试题:Java中为什么要引入轻量级锁?
herman 5年前 (2020-03-11) 2246浏览
接上一篇文章,有几个网友问我,既然提到了偏向锁,那就再一起说一说轻量级锁吧。 为什么要引入轻量级锁? 原因还是为了性能。轻量级锁考虑的是竞争锁对象的线程不多,而且线程持有锁的时间也不长的情景。因为阻塞线程需要 CPU 从用户态转到内核态...
herman 5年前 (2020-03-11) 2246浏览
接上一篇文章,有几个网友问我,既然提到了偏向锁,那就再一起说一说轻量级锁吧。 为什么要引入轻量级锁? 原因还是为了性能。轻量级锁考虑的是竞争锁对象的线程不多,而且线程持有锁的时间也不长的情景。因为阻塞线程需要 CPU 从用户态转到内核态...
herman 5年前 (2020-03-11) 3163浏览
这是一道来自阿里的面试题,在聊到锁的时候,阿里面试官引入了这个问题。我这里来简单的回答一下! 要回答这个问题,首先你要直到什么是偏向锁! JDK1.6 对锁做了很多优化,轻量级锁和偏向锁是其中两种优化手段。引入偏向锁是为了在无多线程竞争...
herman 8年前 (2016-12-18) 5167浏览 0评论
synchronized的重量级别的锁,就是在线程运行到该代码块的时候,让程序的运行级别从用户态切换到内核态,把所有的线程挂起,让cpu通过操作系统指令,去调度多线程之间,谁执行代码块,谁进入阻塞状态。这样会频繁出现程序运行状态的切换,线程的挂起...