Changer de contexte

Pourquoi vouloir changer de contexte au sein d’une coroutine ?

Pour diverses raisons, cela peut être nécessaire. Prenons deux exemples.

Le besoin d’un changement de contexte dans une coroutine peut venir de la nécessité de changer le thread dans lequel la coroutine s’exécute à l’aide d’un objet de type Dispatchers. Imaginons une coroutine lancée à l’aide du constructeur launch dont le but est de consommer une API web. Puisqu’il s’agit d’une opération d’entrée/sortie, le mieux est de lancer cette coroutine dans un thread dédié qui tourne en arrière-plan à l’aide du contexte Dispatchers.IO. Cependant, une fois l’appel terminé et le résultat parsé et interprété, on souhaite mettre à jour l’interface graphique du logiciel. Pour manipuler l’interface graphique d’un logiciel, il convient de retourner dans le thread dédié à cette interface graphique. Pour cela, on a la possibilité de changer le contexte de la coroutine actuelle afin que l’interface graphique puisse être manipulée sans risque. Dans ce cas précis, changer le contexte peut se faire en utilisant le Dispatchers.Main.

Le besoin d’un changement de contexte dans une coroutine peut aussi venir de la nécessité d’exécuter absolument une partie de la coroutine. Imaginons une coroutine...

couv_RIKOT.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
Ajouter des paramètres aux constructeurs
Suivant
L’échange de données entre coroutines