在Java中,如果仅从同步方法调用非同步方法,并且在线程执行非同步方法时,则从另一个线程调用synchronized方法。第二个线程是否能够调用非同步方法。根据我的知识,第二个线程甚至不能调用sync方法,因为该方法还没有返回。但是,我仍然要求这个问题来解决我的困惑。
问候
答案 0 :(得分:2)
第二个线程是否可以调用非同步方法?
没有。实际上,第二个线程根本无法进入方法的synchronized部分,直到完成第一个线程。
当然第二个线程可以直接调用非同步方法,但你提到它永远不会发生,所以你没事。
不言而喻,在实例方法的情况下,对同步方法的调用发生在同一个实例上。