有人可以告诉我是否可以从@synchronized
区块内返回?
例如:
- (id)methodThatReturnsSomething:(BOOL)bDoIt
{
@synchronized(self) {
if(!bDoIt) return nil;
...
}
}
或者我应该首先解锁该块(使用NSLock代替)?
答案 0 :(得分:29)
@synchronized
将在您返回时自动删除其异常处理上下文,并放弃锁定。所以你写的代码很好。