sysnchronized 锁

sysnchronized 加在方法上的区别

  1. public synchronized void a(){ }
    这种锁的是 this 对象
  2. public synchronized static void b(){}
    这种锁的是 class 对象
public class Test1 {public static void main(String[] args) {Test11 test11 = new Test11();/**这两个用的不是同一个锁。**/new Thread(()->{test11.a(); });new Thread(()->{Test11.b();});}}class Test11 {// synchronized(this)public synchronized void  a(){}// 这个为 syschronized(Test11.class)public synchronized static void b(){}
}