请问上述图片包住代码块和包住方法这两种不同的synchronized会导致我第一张图片线程只有一个进去啊
第一张图:因为锁的是run方法,正常来说第一个线程获取到锁后要run方法执行完才释放锁,所以两个线程可以看成是在串行执行(要等第一个线程执行完run方法释放锁后,其它线程才能获取到锁执行run方法)第二张图:因为锁的是while(true)里面的代码块,所以每次执行完一个循环都会释放锁,其它线程就有机会去获取到锁,可以看出两个线程都有执行代码的机会