从@synchronized块内的方法返回

时间:2010-04-24 12:13:14

标签: ios objective-c multithreading

我只想知道return块中的方法是否建议@synchronized?例如:

- (id)test {
   @synchronized(self) {
      if (a) return @"A";
      else return @"B";
   }
}

相反:

- (id)test {
   NSString *value;
   @synchronized(self) {
      if (a) value = @"A";
      else value = @"B";
   }
   return value;
}

此示例相当简单,但有时在复杂的方法中,可以使从@synchronized块内返回的内容变得更简单。

1 个答案:

答案 0 :(得分:11)

没关系。 @synchronized了解return声明。

(参考: http://www.thaesofereode.info/clocFAQ/#sync-advs ) - 死链接
(参考:http://nextstep.sdf-eu.org/clocFAQ/#sync-advs) - 这个链接引用高于死亡的一个,并且可能不是最新的,因为它的标题是