我有一个带有NSMutableData ivar的自定义模型类,它将由自定义NSOperation子类访问(使用NSOperationQueue)。我想通过使用依赖关系,我可以保证从多个NSOperations对ivar进行线程安全访问,我可以保证我不会通过等待Q完成所有操作来从其他代码(比如我的主应用程序线程)访问ivar
我应该使用非原子属性规范,还是保持原子?是否会对绩效产生重大影响?
答案 0 :(得分:1)
否则,您需要进行分析以查看其是否重要。如果您确定(您听起来不确定)NSMutableData永远不会同时从两个或多个线程访问(无论您是这样做,锁定,障碍还是等待),那么您就不需要它了是原子的。
答案 1 :(得分:0)
过早优化是万恶之源。
保持原子性,直到您确定存在性能问题为止。
答案 2 :(得分:0)
如果它是一个可变对象,那么你最大的敌人就是并发突变,而不是不一致的属性访问。