当一个线程进入一个对象的synchronized方法A之后,其他线程是否可进入此对象的synchronized方法B?


给出答案:

     是不能的,其他线程只能访问该对象的非同步方法,同步方法则不能进入;

     因为非静态方法上的synchronized修饰符要求执行方法时要获得对象的锁,如果已经进入A方法,说明对象锁已经被取走了,那么试图进入B方法的线程就只能在等锁池(注意这里不是等待池)中等待对象的锁

你可能感兴趣的:(java面试题)