在Java中,如果仅从同步方法调用非同步方法,并且当线程正在执行非同步方法时,则从另一个线程调用同步方法。第二个线程是否能够调用非同步方法。据我所知,第二个线程甚至不应该能够调用同步方法,因为该方法尚未返回。但我仍然问这个问题来消除我的困惑。
问候
最佳答案
Will this second thread be able to call the non sync method?
没有。事实上,第二个线程根本无法进入该方法的同步部分,直到第一个线程完成它。
当然,第二个线程可以直接调用非同步方法,但你提到它永远不会发生,所以你没问题。
不用说,在实例方法的情况下,对同步方法的调用发生在同一个实例上。
关于java - 从同步方法调用非同步方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20642727/