Possible Duplicate:
What does @synchronized() do?
我有一个关于@synchronized
真正起作用以及对我的应用程序最有效的问题。
我有一个NSMutableArray
,我将在后台线程中进行变异并在前景线程中进行访问。我希望对访问数组有一点把握,如果这意味着我可以从背景突变中获取更新的值,并且可以在对数组内容进行突变的同时访问它。但是,我不确定NSLock
和@synchronized
的具体工作方式是否为100%。
如果不可能,是否可以对数组的副本进行变异,完成后是否可以在设置副本的内容时锁定属性/实例变量,以冻结任何访问者调用?
基本上,@synchronized(myArray)是否会冻结任何访问者调用(调用会一直挂起,直到锁松开然后执行)?
另外,是否可以使用NSLock锁定实例变量或属性?从我所看到的来看,它似乎只能锁定代码块。
最佳答案
Basically, will the @synchronized(myArray) freeze any accessor calls (have the call hang
until the lock lets up and then execute)?
关于objective-c - @synchronized锁定iVar和/或属性? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13850264/