静态方法 --> 锁是 类
一般方法 --> 锁是 对象
代码段 --> 锁是 自定义任何内容
当锁相同时,方法间就能达到互斥效果。
典型的3种加锁方式:
public class S02 {
public synchronized void out1(String str) {
// something to do
}
public synchronized static void out2(String str) {
// something to do
}
public void out3(String str) {
synchronized (S02.class) {
// something to do
}
}
}