Подтвердить что ты не робот

Вернуться изнутри @synchronized блока в objective-c

Может кто-нибудь сказать мне, нормально ли вернуться изнутри блока @synchronized?

Например:

    - (id)methodThatReturnsSomething:(BOOL)bDoIt
    {
        @synchronized(self) {      

             if(!bDoIt) return nil;
             ...
        }
    }

или мне нужно сначала разблокировать блок (вместо этого использовать NSLock)?

4b9b3361

Ответ 1

@synchronized автоматически удалит свой контекст обработки исключений при возврате и освободит блокировку. Итак, код, который вы написали, в порядке.