synchronized解析一:使用详解
synchronized的五种使用方式
public class SynchronizedTest {
public static final Object lock = new Object();
// 锁的是SynchronizedTest.class对象
public static synchronized void sync() {
}
public static void sync2() {
// 锁的是SynchronizedTest.class对象
synchronized (SynchronizedTest.class) {
}
}
// 锁的是当前实例this
public synchronized void sync3() {
}
public void sync4() {
// 锁的是当前实例this
synchronized (this) {
}
}
public void sync5() {
// 锁的是指定对象lock
synchronized (lock) {
}
}
}

浙公网安备 33010602011771号