-
内置锁
每个java对象都可以用做一个实现同步的锁,这些锁称为内置锁。线程进入同步代码块或方法的时候会自动获得该锁,在退出同步代码块或方法时会释放该锁。获得内置锁的唯一途径就是进入这个锁的保护的同步代码块或方法。
-
互斥锁
内置锁是一个互斥锁,这就是意味着最多只有一个线程能够获得该锁,当线程A尝试去获得线程B持有的内置锁时,线程A必须等待或者阻塞,直到线程B释放这个锁,如果B线程不释放这个锁,那么A线程将永远等待下去。
-
修饰普通方法:锁住对象的实例
-
修饰静态方法:锁住整个类
-
修饰代码块: 锁住一个对象 synchronized (lock) 即synchronized后面括号里的内容
深入理解synchronized
最新推荐文章于 2020-05-14 15:06:41 发布