iphone - @synchronized如何工作? [复制]

标签 iphone objective-c multithreading

这个问题已经在这里有了答案:




9年前关闭。




Possible Duplicate:
How does @synchronized lock/unlock in Objective-C?



我有一个创建多个对象的应用程序。这些对象中的每个对象实际上都在不同的线程中运行,并在作为单独类一部分的NSMutableArray上运行。此类中有几种不同的方法可以枚举和更改数组,并且正如预期的那样,多个线程不能很好地使用此方法。我尝试将所有方法主体都放在@synchronized块中,因为我读过某个地方,该方法一次只能将一个方法锁定到一个线程,但是似乎没有帮助。如何确保一次只有一个线程正在访问这些方法?

最佳答案

我不能说比苹果更好。看一看“使用@synchronized指令”部分。 http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Multithreading/ThreadSafety/ThreadSafety.html

仔细检查您是否将同一同步/锁定对象传递给同步对象,以便线程不会访问同一部分。

关于iphone - @synchronized如何工作? [复制],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6990134/

相关文章:

iphone - 取消通话后返回应用程序

ios - 在 Xcode 中我看到(没有配对的 Apple Watch)即使 watch 已配对并且 watch 的 UDID 已注册

ios - 将完成处理程序保存为对象

iphone - 分段 TableView 索引选择突出显示

c# - 当 OnClick_Event 发生时立即更新 UI

iphone - 加载某些 View 时如何隐藏 TabBarView?

iphone - iOS编程-如何放大和缩小

C线程同步

c# - 进度条在 winform 中卡住

iphone - 同步 NSMutable 数组以进行线程处理