一.运用synchronized关键字 首先我们来看看一个多线程中线程不安全的列子 代码如下: 共享数据类: public class NotSynchronizated extends Thread { private int num =10; @Override public void run(){ try { System.out.println("当前线程为:"+currentThread().getName()); num--; System.out.println(&quo…
当一个synchronized关键字修饰的方法同时又被static修饰,之前说过,非静态的同步方法会将对象上锁,但是静态方法不属于对象,而是属于类,它会将这个方法所在的类的Class对象上锁. 一个类不管生成多少个对象,它们所对应的是同一个Class对象. public class ThreadTest { public static void main(String[] args) { Example example = new Example(); Thread t1 = new Threa…