Java多线程-并发之synchronized 关键字

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/baidu_34122324/article/details/83472691

synchronized 关键字

答:

底层实现:

  1. 进入时,执行 monitorenter,将计数器 +1,释放锁 monitorexit 时,计数器 -1
  2. 当一个线程判断到计数器为 0 时,则当前锁空闲,可以占用;反之,当前线程进入等待状态

含义:(monitor 机制)

Synchronized 是在加锁,加对象锁。对象锁是一种重量锁(monitor), synchronized 的锁机制会根据线程竞争情况再运行时会有偏向锁(单一线程)、轻量锁(多个线程访问 synchronized 区域)、对象锁(重量锁,多个线程存在竞争的情况)、自旋锁等。
该关键字是一个几种锁的封装。

猜你喜欢

转载自blog.csdn.net/baidu_34122324/article/details/83472691