Если у вас есть изменения, которые вы хотите внести в NSMutableDictionary
, и вам нужно, чтобы операции выполнялись поточно-ориентированным образом, самый простой способ - обернуть все обращения к этому объекту с помощью оператора @synchronized
, который сообщает компилятор для блокировки доступа к объекту потокобезопасным, безопасным для исключения способом:
@synchronized (myDictionary) {
[myDictionary setObject: ... forKey: ...];
[myDictionary removeObjectForKey: ...];
}
Существуют более высокопроизводительные альтернативы @synchronized
, но это должно быть проблемой, только если вы профилировали свой код и видите, что синхронизация является проблемой.