java多线程Synchronized静态方法和非静态方法区别

SharedScreenshot.jpg

普通方法和普通代码块锁住的是当前实例对象,同个对象调用是同步效果

静态方法和以synchronized(class){}的方式锁代码块,锁住的是当前类的class对象,在同个类内,所属线程独占类锁,其他线程阻塞。

你可能感兴趣的:(java多线程Synchronized静态方法和非静态方法区别)