如果我有多个线程可能想要同时写入NSMutableDictionary
(ie setObject:forKey:
),即使我可以保证线程将写入不同的键值对,我是否需要在字典上同步?如果是,你能解释一下字典是怎么破的吗?
问问题
159 次
1 回答
4
NSMutableDictionary
不是线程安全的,因此您需要围绕并发写入以及可能与写入同时进行的读取添加同步。您正在写入不同键的事实并没有多大帮助:实现可能会在添加新键时调整大小,从而使之前分配的所有内部存储无效。
如果您计划写入的所有键都已经存在于字典中,并且没有同时进行删除,那么您可能会很幸运。但是,我强烈建议不要使用这种方法。
于 2013-02-20T01:06:40.533 回答