synchronized关键字的功能简介说明
下文笔者讲述synchronized关键字的功能,如下所示
Synchronized锁原理简介说明
synchronized关键字的功能
synchronized关键字功能:
控制线程同步
在多线程的环境下
synchronized修饰的代码段不被多个线程同时执行
synchronized可以修饰静态方法,实例方法和代码块
synchronized关键字历史说明
早期的jdk中
synchronized属于重量级锁,效率低下
由于监视器锁(monitor)是依赖于底层的操作系统Mutex Lock来实现
Java 的线程是映射到操作系统的原生线程之上的
当需要挂起或唤醒一个线程,都需操作系统帮忙完成
而操作系统实现线程之间的切换时需要从用户态转换到内核态
这个状态之间的转换需要相对比较长的时间,时间成本相对较高
所以造成了早期synchronized的低效
在JDK1.6之后,官方JVM对synchronized
主要加入自旋锁、适应性自旋锁、锁消除、锁粗化、偏向锁、轻量级锁等技术
来减少锁操作的占用的开销
使其性能得到提升
相关阅读:Synchronized锁原理简介说明
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


