Должен ли NSStream с Bluetooth-связью требовать отдельного потока?

Используя ExternalAccessory для общения с устройством Bluetooth, я использую ввод и вывод NSStreams предоставлено EASession отправлять на него сообщения.

В Apple EADemo Например, он планирует оба потока в цикле выполнения основного потока. Тем не менее, я заметил, что во многих сетевых приложениях, которые используют NSStreamРазработчики предпочитают создавать отдельный поток для выполнения операций чтения / записи и планировать потоки для цикла выполнения нового потока.

Для устройства Bluetooth, должно ли быть реализовано такое поведение (создание отдельного потока) или планирование его в цикле выполнения основного потока не вызовет серьезных проблем с блокировкой?

1 ответ

Решение

В общем случае предпочтительно делать как можно меньше в основном потоке. Я думаю, что EADemo делает это в основном потоке, так как в контексте небольшого примера это применимо, но в контексте большого производственного приложения это не так.

Другие вопросы по тегам