synchronized总结
synchronized -> 在<1.6版本中 锁的是monitor -> monitor依赖于底层的操作系统OS的Mutex互斥量-> 这个东西由操作系统维护 JVM其实就是调用他的线程库Pthread 其中涉及了用户态和内核态的上下文切换 因此效率非常低
自1.6版本之后 做了优化 无锁状态->对象锁偏向锁->轻量级锁(好像是一个自适应自旋锁)---在竞争非常激烈的时候 才升级成重量级锁->Mutex
synchronized -> 在<1.6版本中 锁的是monitor -> monitor依赖于底层的操作系统OS的Mutex互斥量-> 这个东西由操作系统维护 JVM其实就是调用他的线程库Pthread 其中涉及了用户态和内核态的上下文切换 因此效率非常低
自1.6版本之后 做了优化 无锁状态->对象锁偏向锁->轻量级锁(好像是一个自适应自旋锁)---在竞争非常激烈的时候 才升级成重量级锁->Mutex