【发布时间】:2014-04-05 22:02:27
【问题描述】:
我需要通过 Java 的反射 API 调用一些同步方法。 假设我有:
public final synchronized void doSomething() {
Thread.sleep(1000);
}
如果我直接从两个线程调用此方法,一个线程将进入该方法,而另一个线程必须等到第一个线程离开方法块(一秒钟后)。然后其他线程可以进入该方法,任何其他线程都需要等待。
如果我不直接调用该方法而是通过反射调用它,有什么区别吗? “阻塞”行为是否相同?
【问题讨论】:
-
如果您使用反射,您的反射代码也将存在于线程中...
标签: java reflection synchronization block synchronized