코어데이터에서 스레드 안전하지 않다는 표현은 NSPersistentStoreCoordinator에서 NSManagedObjectContext가 1개 이상일 수 있고 Context 별로 실행하는 스레드가 다를 수 있으므로 여러개의 Context에서 동시에 같은 NSManagedObject를 변경하고 저장할 경우 데이터 무결성을 보장하지 않는 다는 말입니다.
만약 같은 모델을 빈번하게 변경하여 스레드 안전성을 보장해야 하는 경우 GCD나 Lock같은 기능을 사용하여 스레드 안전하게 만들어 주시면됩니다.
또한 코어데이터 이외에도 CocoaTouch 및 Swift는 기본적으로 스레드 안전하지 않습니다.