版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhou920786312/article/details/84853749
public class T
public void synchronized test
每一个对象头上都有一个锁标志位01
当线程A执行到方法test的时候,它会去找到当前类对象的锁标志,如果是1表示锁已经被其他线程拿去了,等待获取锁,如果是0,那就获取锁,并修改标志位为1,代表该锁正在被线程A使用,其他线程执行到test方法的时候就等待。
等待的过程锁状态变化:偏向锁,轻量级锁,重量级锁。