Synchronized在什么情况下释放锁:
    run方法代码执行完毕或者程序抛出异常的情况下会释放锁

    Synchronized使用方式:
    使用synchronized锁的时候可以使用任意对象锁作为锁
    如果在方法上加上Synchronized关键字默认使用this锁
    注意:如果方法是一个静态方法的情况下就使用当前这个类的class字节码作为锁,
    如果当前方法是一个非静态方法的情况下则使用this锁

    image.pngimage.png

    参考文章:https://mp.weixin.qq.com/s/E8qOcBz5GbsUoIvyCf2qcw