Runable重写的run方法为什么不能存放 synchronized关键字呢?请小伙伴替我解答这个疑惑
修饰普通方法,锁住的是当前对象的实例
修饰静态方法,锁住的是当前Class对象
修饰代码块,锁住的是括号里的对象
多个线程锁住的都是不同的对象,加了和没加一样
在方法上加synchronized等同于synchronized(this),虽然看似给run()方法加上了锁,三个线程都拿到各自对象的锁,因此都能够执行run()中的代码。要解决这个问题其中一个方法是通过runnable接口来实现线程