gpt4 book ai didi

ios - 如何阻止 NSSet 在其他地方被枚举时发生变异?

转载 作者:行者123 更新时间:2023-11-29 02:56:42 25 4
gpt4 key购买 nike

我有一个 NSMutableSet 对象,我在主线程上的几个点上发生了变化。但有时会在后台线程上枚举该集合。如果没有使用一堆 bool 值来管理状态,是否有一个好方法可以让任何突变等待,当前集合是否应该枚举?

提前致谢。

最佳答案

NSMutableSet 不是线程安全的。您不能将其破解为线程安全的。

如果您想要一个不会在后台发生变异以供检查的副本,请在主队列中获取一个副本并将其传回。它比任何其他方法都快得多。

否则,您必须将对它的所有访问都包装在一个互斥量中。 @synchronize集合本身是最直接的方法。

关于ios - 如何阻止 NSSet 在其他地方被枚举时发生变异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23795810/

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