【问题标题】:When we should use NSThreads in a cocoa Touch?我们什么时候应该在 cocoa Touch 中使用 NSThreads?
【发布时间】:2010-04-03 06:10:07
【问题描述】:
我正在使用 cocos2d 编写一个小游戏。这是一款射击游戏。一边是玩家,另一边是敌人。要运行玩家射击和敌人射击这两个动作,我们应该使用线程吗?或者我们可以不使用它们。目前我没有使用线程。但是我可以同时做玩家和敌人的动作。我应该使用强制性能良好的线程吗?
还是我在不使用线程的情况下做错了?请帮助我摆脱这种困惑。
谢谢。
【问题讨论】:
标签:
iphone
cocoa-touch
cocos2d-iphone
nsthread
【解决方案1】:
您应该在有意义的情况下使用线程,即,当您在耗时的操作期间会阻塞主 (UI) 线程时。昂贵操作的示例包括从磁盘加载图像和声音以及从网络检索信息。对于游戏的事件循环,线程不是必需的,因为游戏中的事件并非完全同时发生(事实上,两个操作在 iPhone 上永远不会同时发生,因为它是一个单处理器系统)。相反,您可以按顺序执行所有游戏逻辑并根据需要更新 UI。不过,如果我没记错的话,像 Cocos2D 这样的框架可能会使用依赖反转模型来调用您的客户端代码,因此它会在幕后创建任何必要的线程。我建议查看有关该特定框架的教程,以了解推荐的样式是什么。