我对多线程编程和可可很陌生。
我需要一把锁来访问/修改NSMutableArray
iVar。最简单的方法是什么?
当我在这里的时候,你们有一些关于使用 Obj-c/Cocoa 进行多线程编程的读物吗?谢谢。
我对多线程编程和可可很陌生。
我需要一把锁来访问/修改NSMutableArray
iVar。最简单的方法是什么?
当我在这里的时候,你们有一些关于使用 Obj-c/Cocoa 进行多线程编程的读物吗?谢谢。
使用@synchronized
块:
@synchronized(MyArray)
{
// thread safe code
}
Xcode 有时无法识别此块,但相信我,它有效!
有关更多信息,您可以阅读这篇文章。
另一种方法是使用 GCD 和串行队列。
对于您的 NSArray 属性,写入使用私有串行队列的访问器。设置并从后备存储中获取值。由于串行队列是先进先出的,并且将顺序运行块,这提供了对属性的线程安全访问。