synchronized不同用法
1 加载方法上的 ,例如public synchronized void test(){}
2 加载方法上的 ,例如public static synchronized void test(){}
3 静态代码块 synchronized(this){}
4.静态代码块 synchronized(A.Class){}
其中,1和3类似,仅仅对多线程同一个对象的操作起互斥作用,如果是多线程不同对象的调用则不起作用;
2和4类似,都是对线程不同对象的调用起作用;