NSLocks를 사용하는 대신에 @ synchronized-construct를 좋아합니다. 한 번에 한 스레드 만 데이터 구조를 읽거나 쓰길 원합니다. 그러나 @synchronized가 전체 객체를 변경하려는 경우 @synchronized가 적합한 지 확실하지 않습니다.Objective-C @synchronized object changes
// version 1:
// segment 1:
@synchronized(self.obj) {
self.obj = obj2;
}
// segment 2:
@synchronized(self.obj) {
// some other stuff
}
// version 2:
// segment 1:
[objLock lock];
self.obj = obj2;
[objLock unlock];
// segment 2:
[objLock lock];
// some other stuff
[objLock unlock];
[@synchronized 부 insde 로킹 개체 변경]의 중복 가능성 (http://stackoverflow.com/questions/1215765/changing-the-locking-object-insde - 동기화 섹션) – kennytm