Гарантируют ли @synchronized блоки освобождение своих блокировок?

Предположим, что это методы экземпляра и вызывается -run .

Снята ли блокировка self к моменту возврата -run ?

...
- (void)dangerous {
    @synchronized (self) {
        [NSException raise:@"foo" format:@"bar"];
    }
}

- (void)run {
    @try { [self dangerous]; }
    @catch (NSException *ignored) {}
}
...
5
задан Todd Ditchendorf 12 October 2011 в 06:08
поделиться