synchronized表示同一时间只能有一个线程使用这段代码

解决方案 »

  1.   

    1。通常静态方法调用得都是所有对象共享的数据属性,所以他的作用就是对所有调用这个类级方法的线程同步,属于类级别同步。
    2。普通方法加上同步是当不同线程调用相同对象的这个方法的时候同步。(对单个对象同步,属于对象级同步)。
    3。代码块加上同步就是多线成进入这断代码块的时候会缩住某个对象,使用那个对象的其他同步模快或这段代码的线成就无法再进入。如果还不理解,还是看看java实现同步的内部原理吧。