【发布时间】:2012-10-22 02:20:32
【问题描述】:
我有一个NSMutableArray,主要由我的 iOS 游戏中的主线程访问。每 2-3 秒我需要在这个网格上执行一次昂贵的操作。我不需要修改网格。我只需要做一些计算并返回一个结果。 如何在后台线程中高效安全地使用网格?
到目前为止,我只考虑复制网格并将其作为performSelectorInBackground 中的对象传递。然而,这似乎是潜在的浪费。我还考虑过从后台线程访问网格的引用,并确保在后台线程完成处理之前主线程不会写入网格。然而,这感觉很冒险,我不确定这是否是一种常见的做法。
【问题讨论】:
-
你为什么是reposting this(或者你为什么首先删除它)?我给你的链接仍然适用:Locking NSMutableArray 和 Concurrency Programming Guide。
-
@JoshCaswell 我认为这个版本的问题更具体。我还添加了到目前为止我考虑过的方法。
-
在这种情况下,您应该编辑之前的问题,而不是删除它。拥有足够的代表甚至可以编辑其他人的帖子,您真的应该知道这一点。
标签: objective-c multithreading background-thread