gpt4 book ai didi

iphone - 这里需要 "atomic"吗?

转载 作者:行者123 更新时间:2023-12-03 16:33:52 24 4
gpt4 key购买 nike

关于多线程编程的一个简单问题:我有一个 NSMutableArray 实例变量,它由主线程读取并由另一个线程设置。我目前正在使用这个:

@property (nonatomic, retain) NSMutableArray *locations;

但我想我现在必须删除“nonatomic”指令?

最佳答案

如果您创建一个新数组并将其分配给位置,那么是的,将需要原子属性。

如果您要从另一个线程添加/删除位置对象,则数组上的原子属性不适用。各种 NSMutable... 集合不是线程安全的,因为添加/插入/删除方法不是设计为从多个线程调用的。

参见问题:NSMutableDictionary thread safety

更好的方法可能是让其他线程向主线程发送要添加或删除的位置数组,以便更改仅发生在主线程上。

关于iphone - 这里需要 "atomic"吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4300212/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com