立即学习:https://edu.csdn.net/course/play/9827/208794?utm_source=blogtoedu
内置锁
每个java对象都可以用做一个实现同步的锁,这些锁称为内置锁。线程进入同步代码块或方法的时候会自动获得该锁,在退出同步代码块或方法时会释放锁。获得内置锁的唯一途径就是进入这个锁的保护的同模糊代码块或方法。
互斥锁
内置锁是一个互斥锁,这就是意味着最多只有一个线程能够获得该锁,当线程A尝试去获得线程B持有的内置锁时,线程A必须等待或者阻塞,直到线程B释放这个锁,如果B线程不释放这个锁,那么A线程将永远等待下去。
修饰普通方法:锁住对象的实例
修饰普通方法:锁住整个类
修饰代码块:锁住锁住一个对象 synchronized(lock) 即synchronized后面括号里的内容