безопасность потока для экземпляров NSManagedObject? - PullRequest
0 голосов
/ 07 декабря 2011

У меня есть один глобальный экземпляр для одного типа NSManagedObject.Для глобального экземпляра у него есть несколько переменных-членов, которые являются @dynamic свойствами, объявленными следующим образом

@property (retain) NSString *value;

И у меня есть несколько потоков, которые будут выполнять следующие простые операции

myInstance.value = [NSString stringWithString:newValue];

Итак, вопрос в том, нужно ли синхронизировать вышеуказанную операцию?или это уже естественно потокобезопасно (как они заботятся NSManagedObject)?

1 Ответ

3 голосов
/ 07 декабря 2011

Согласно документации, это не потокобезопасно.Есть целая статья о потоке и основных данных, которую вы можете прочитать здесь .По сути, это говорит о том, что для правильного использования потоков с Базовыми данными вам необходим отдельный контекст управляемого объекта для каждого потока.В разделе «Если вы не используете ограничение потока», в частности, отмечается, что чтение и изменение управляемых объектов в потоках может иметь нежелательные эффекты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...