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