2011-12-06 2 views
0

NSManagedObject 유형 중 하나에 대해 하나의 전역 인스턴스가 있습니다. 글로벌 예를 들어, 다음과 같은 방법스레드 안전성?

@property (retain) NSString *value; 

에 선언 @dynamic 속성입니다 몇 멤버 변수를 가지고 있는데 다음과 같은 간단한 작업을

myInstance.value = [NSString stringWithString:newValue]; 

그래서 질문을 할 것 몇 가지 스레드가 - 위 작업을 동기화해야합니까? 또는 그것은 자연스럽게 이미 스레드 안전 (그들은 NSManagedObject에 의해 돌보는)?

+1

죄송합니다. 위의 수술을 받아야합니다. 할당 오퍼레이션을위한 오퍼레이션 – tom

답변

3

설명서에 따르면 이는 스레드로부터 안전하지 않습니다. 스레드와 코어 데이터에 대한 전체 기사는 입니다. 본질적으로 코어 데이터와 함께 스레딩을 적절하게 사용하려면 각 스레드에 대해 별도의 관리 객체 컨텍스트가 필요합니다. "스레드 억제를 사용하지 않는 경우"절에서 스레드간에 읽기 및 변경 관리 대상 객체가 원하지 않는 영향을 미칠 수 있음을 특히 주목합니다.