当一个线程进行一个对象的synchronized方法之后,其他线程完全有可能再次进入该对象的其他方法。
不过要分几种情况来看:
1、如果其他方法没有使用synchronized关键字修饰,则可以进入。
2、如果当前线程进入的synchronized方法是static方法,其他线程可以进入其他synchronized修饰的非静态方法;如果当前线程进入的synchronized方法是非static方法,其他线程可以进入其他synchronized修饰的静态方法。
3、如果两个方法都是静态方法、或者都是非静态方法,并且都使用了synchronized修饰,但只要在该方法内部调用了同步监视器的wait(),则其他线程依然可以进入其他使用synchronized方法修饰的方法。
4、如果两个方法都是静态方法、或者都是非静态方法,并且都使用了synchronized修饰,而且没有在该方法内部调用了同步监视器的wait(),则其他线程不能进入其他使用synchronized方法修饰的方法。