【问题标题】:Should a Bluetooth-communicating NSStream require a separate thread?蓝牙通信 NSStream 是否需要单独的线程?
【发布时间】:2015-06-29 20:48:03
【问题描述】:

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

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

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

【问题讨论】:

    标签: ios nsthread nsstream nsrunloop external-accessory


    【解决方案1】:

    一般来说,在主线程上做的越少越好。我认为 EADemo 在主线程上执行此操作,因为在小示例的上下文中它是适用的,但在大型生产应用程序的上下文中则不是。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-10
      • 2017-01-18
      • 2013-10-11
      • 2021-07-19
      • 2012-04-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多