Des plus petites fonctions aux plus grandes révolutions, Apple pose patiemment ses pions. Avec l’infrastructure de compilateur LLVM, elle assure une parfaite optimisation du code. Avec ARC, elle assure une parfaite gestion de la mémoire. Avec Dispatch, elle assure une parfaite utilisation des ressources du processeur. En facilitant la programmation concurrente dans Swift, elle poursuit ses efforts tout en débarrassant les développeurs d’une tâche complexe et pénible. Swift gère mieux les fils, et ne vous fera plus perdre le fil !
Retour à Grand Central (Dispatch)
Pour bien comprendre, il faut revenir au fonctionnement de Dispatch, aussi appelé Grand Central Dispatch. Ce système permet d’exploiter toute la puissance des cœurs des processeurs modernes, en exécutant des tâches parallèles. Prenons l’exemple d’une application allant chercher des données sur internet pour les enregistrer dans une base de données, puis les afficher à l’utilisateur.
Je vais créer un fil d’exécution (thread) hors du fil d’exécution principal (main thread). Le fil d’exécution principal doit être disponible au maximum, car c’est lui qui gère l’interaction avec l’utilisateur. Pour la base de données, j’utiliserai également un fil d’exécution …