Lorsque j'utilise le framework CB dans mon application, je n'introduis aucune approche concurrente ni réactive et tout fonctionne correctement. L'interface user n'est pas bloquée lorsque je reçois plus de 100 échantillons par seconde à partir d'un périphérique.
Cela signifie-t-il qu'il est conçu pour fonctionner de manière asynchronous?
Je n'ai trouvé aucune ressource indiquant que c'est une nature asynchronous, et je n'ai pas trouvé d'implémentation où quelqu'un introduisait des threads asynchronouss ou d'arrière-plan lors de l'utilisation de Core Bluetooth.
Est-il sûr de dire que le framework Core Bluetooth est insortingnsèquement asynchronous et que ça ne devrait pas déranger avec dispatch_async
et dispatch_async
chose comme ça en travaillant avec Bluetooth sur iOS?
MODIFIER:
c'est comme ça que je l'initialise
centralManager = CBCentralManager(delegate: self, queue: nil) peripheralManager = CBPeripheralManager(delegate: self, queue: nil
Donc, ils courent apparemment dans la queue principale. Comment se fait-il que cela ne bloque pas l'interface user?