mots-clés : developpement iphone, multitache, runloop
Dans les applications les plus simples, le code du programme ferait une fonction d’appel pour utiliser un “service”, provenant soit d’autres Serveurs/Frameworks de l’OS, Entrées/Sorties de l’appareil.
Ce service peut être appelé de façon synchrone ou asynchrone :
- Dans un appel synchrone, le service renvoie à la fonction d’appel l’état d’achèvement (typiquement succès ou échec).
Pendant que le service est en cours d’exécution, le thread de celui qui l’appelle est dans l’état “bloqué”; en attente de la fin d’exécution du service.
- Dans un appel asynchrone, la requête d’appel est soumise et le contrôle revient à celui qui l’a faite.
L’achèvement de la requête peut se produire parfois plus tard.
Pendant ce temps, l’appelant peut effectuer d’autres tâches et n’est pas dans un état “bloqué “.
Une fois achevé, l’appelant reçoit un signal indiquant l’achèvement de la requête. Dès lors, le thread de l’appelant gère le résultat de la requête.
Ce signal est connu sous le nom d’évènement et le code est dit être évènementiel.