我正在编写一个 iOS 应用程序,其中多个 iDevice 可以相互连接并相互发送消息。当 iDevice1 向 iDevice2 发送消息时,我希望将该消息插入 iDevice2 的队列中。iDevice2 上的一个单独的后台线程现在通过此队列并将消息出列。我的问题有两个,如下:
- 实现无限循环(直到应用程序终止)并从队列中轮询和出列项目的后台线程的最佳方法是什么?
- 在循环后台线程和将消息插入队列的线程之间共享队列的最佳方法是什么?
我一直在使用 dispatch_async 大型中央调度方法在不同的线程中执行任务,并且运行良好。我应该使用 dispatch_async 方法来启动轮询队列的后台线程吗?这种方法是否负责切换到其他线程,或者后台线程是否会占用处理器,因为它正在执行无限循环?任何帮助表示赞赏,谢谢!