美文网首页
java关键字之Synchronized

java关键字之Synchronized

作者: 那谁319 | 来源:发表于2018-07-15 17:11 被阅读0次
  • Synchronized是通过对象内部的一个叫做监视器锁(monitor)来实现的。但是监视器锁本质又是依赖于底层的操作系统的Mutex Lock来实现的。而操作系统实现线程之间的切换这就需要从用户态转换到核心态,这个成本非常高,状态之间的转换需要相对比较长的时间,这就是为什么Synchronized效率低的原因。因此,这种依赖于操作系统Mutex Lock所实现的锁我们称之为“重量级锁”。JDK中对Synchronized做的种种优化,其核心都是为了减少这种重量级锁的使用。JDK1.6以后,为了减少获得锁和释放锁所带来的性能消耗,提高性能,引入了“轻量级锁”和“偏向锁”。

  • 在java代码中使用synchronized可是使用在代码块和方法中,根据Synchronized用的位置可以有这些使用场景


    synchronized的使用方式.png

相关文章

网友评论

      本文标题:java关键字之Synchronized

      本文链接:https://www.haomeiwen.com/subject/rnippftx.html