蓝牙通信NSStream是否需要单独的线程?

时间:2015-06-29 20:48:04

标签: ios nsthread nsstream nsrunloop external-accessory

使用ExternalAccessory与蓝牙设备通话,我使用NSStreams提供的输入和输出EASession向其发送消息。

在Apple的EADemo示例中,它将两个流调度到主线程的运行循环。但是,我注意到在许多与网络相关的应用程序中,使用NSStream的开发人员更喜欢创建一个单独的线程来执行读/写操作并将流调度到新线程的运行循环。

对于蓝牙设备,是否应该实现此类行为(创建单独的线程)或将其安排到主线程的运行循环不会导致严重的阻塞问题?

1 个答案:

答案 0 :(得分:1)

通常优选在主线程上尽可能少地执行。我认为EADemo在主线程上执行此操作,因为它适用于小例子的上下文,但在大型生产应用程序的上下文中则不适用。