Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想同时将多个蓝牙 LE 外围设备连接到我的 iPad 应用程序,并且我想收到特性更改通知并使用修改其特性
CBPeripheral writeValue:forCharacteristic:type:
可能吗?
我应该为不同的线程处理每个外围设备吗?
感谢您的回答!
您可以为委托设置调度队列。writeValue 正在写入远程外围设备的值。如果您在同一个远程外围设备上进行多次写入,则底层协议层 (ATT) 调用将在框架 (CoreBluetooth) 级别同步。如果您正在写入不同的外围设备,那么每个外围设备都在不同的通信通道上运行。无论哪种方式,都没有线程安全问题。
但是当然,如果您的委托从不同的线程访问本地对象,那么如果它们不是线程安全的,您将需要保护这些对象。