2010-04-02 80 views
4

是否有可能在等待资源变为可用时使用同步方法调用同步方法(使用wait())?谢谢java - 从等待里面同步调用同步方法

+4

这个问题应该改写。虽然Michael的答案在技术上是正确的,但问题还不清楚,如果您问的是一个简单的重入同步块还是更复杂的问题。需要在整个上下文中查看同步块和并发性。 – 2010-04-02 04:23:30

+2

另外:如果一个线程正在等待某个事件发生(在一个'Object.wait(...)'调用中),它不能调用任何东西。一些说明性代码是必需的,IMO。 – 2010-04-02 05:21:46

回答

9

Java的互斥锁是递归的,所以你可以递归地调用一个同步方法或者调用另一个你已经持有锁的同步方法。你需要告诉我们你特别想做什么,尽管......有很多线程锁定/同步的东西,如果做得不正确,可能会导致死锁,并且从你的问题中不完全清楚什么你正试图做。