В Objective-C вы можете объявить блок как синхронизированный на каком-либо объекте с помощью конструкции @synchronized. Он будет выглядеть примерно так:
@synchronized (self) {
// Do something useful
}
Однако мне любопытно, что именно self относится к тому, когда у вас есть статический метод (+ вместо -). Я пробовал просматривать документы Apple, и они намекают, что все в порядке, но на самом деле это не объясняет. Я знаю, что это работает, мне просто интересно, что это значит.