Java,synchronized的理解

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

public   class  T

  public  void  synchronized   test

每一个对象头上都有一个锁标志位01

当线程A执行到方法test的时候,它会去找到当前类对象的锁标志,如果是1表示锁已经被其他线程拿去了,等待获取锁,如果是0,那就获取锁,并修改标志位为1,代表该锁正在被线程A使用,其他线程执行到test方法的时候就等待。

等待的过程锁状态变化:偏向锁,轻量级锁,重量级锁。

猜你喜欢

转载自blog.csdn.net/zhou920786312/article/details/84853749
今日推荐