1
게으른 스레드 안전 getter를 구현하는 동안 흥미로운 (필자 의견으로는) @synchronized
섹션을 선언하고이 섹션 내부를 호출해야하는 상황이 발생했습니다. 다음은 코드의 단순화 된 버전입니다.@synchronized 섹션에서 선언 된 블록이 동기화됩니까?
- (void) someMethod
{
@synchronized(self) {
[self doSomethingWithCompletionBlock:^{
// Are we synchronized here?
}];
}
}
블록 내부에서 동기화됩니까? 그렇다면 블록은 (메모리 관리 측면에서) 자체 포인터를 캡처합니까?