I'd just like to know if it's advised to return from a method within a @synchronized block? For example:
- (id)test {
   @synchronized(self) {
      if (a) return @"A";
      else return @"B";
   }
}
As opposed to:
- (id)test {
   NSString *value;
   @synchronized(self) {
      if (a) value = @"A";
      else value = @"B";
   }
   return value;
}
This sample is rather simplistic, but sometimes in a complex method it would make things simpler to be able to return from within a @synchronized block.