我正在使用Java编写Web服务。另外我有一个资源,所以应该同步访问这个资源。我正在使用2个不同的锁:saltLock
和waitLock
。这段代码似乎是可以锁定的吗?它是否可以锁定?
@WebMethod(operationName = "getSalt")
public String getSalt() {
synchronized(waitLock)
{
//wait until ip is already in use
//could wait a lot
synchronized(saltLock)
{
//modify resource
}
}
}
@WebMethod(operationName = "doSmt")
public String doSmt()
{
//some code...
synchronized(saltLock)
{
//modify resource
}
}
奖金问题:
1)它是确定使用内?
2)synchronized(waitLock)
是否阻止其内部synchronized(saltLock)
?
检查此链接[嵌套同步块] [1] [1]:http://stackoverflow.com/questions/10365132/java-nested-synchronization-blocks –