【发布时间】:2015-04-30 11:20:56
【问题描述】:
在 Java 中,在单个对象和线程中使用 synchronized 关键字。
我可以调用一个调用同步方法的非同步方法的同步方法,而最终同步方法不会阻塞第一个同步方法完成吗?
【问题讨论】:
-
试试吧……但据我所知答案是没有。
-
AFAIK 我们可以,但死锁的可能性很大
-
答案是:这取决于同步的组织方式和每个监视器的状态。如果您有单个监视器(锁)并且只有一个线程,那么它不应该有问题,因为在 Java 中的锁是可重入的(线程可以进入同步块中的锁它已经拥有不止一次 - 它只会增加该线程的监视器的计数器)。
标签: java multithreading synchronization java-threads