L’échange de données entre coroutines

Deux éléments clés du langage Kotlin le leur permettent : les channels et les flows.

1. Les channels Channel

a. Qu’est-ce qu’un channel ?

Les coroutines peuvent communiquer entre elles. En d’autres termes, elles peuvent s’échanger des données. Un channel permet les échanges de données entre coroutines. On peut le voir comme une file dans laquelle une première coroutine envoie des données tandis qu’une seconde coroutine les consomme.

En Kotlin, un channel se déclare comme un objet de type Channel. Il convient ensuite, au sein des coroutines, d’utiliser les méthodes de cet objet Channel pour envoyer des données ou pour les consommer. Channel

Pour pouvoir utiliser un objet de type Channel, il convient donc d’en créer une instance. Il s’agit d’un objet générique (au même titre que les collections). Il est donc nécessaire de préciser le type de données qui vont être échangées au sein du channel. Il est également nécessaire de préciser la capacité du channel, c’est-à-dire le nombre d’éléments qui peuvent être échangés par les coroutines.

Créons un objet de type Channel dans l’idée d’échanger trois entiers entre deux coroutines :

val channel = Channel<Int>(3) 

Une fois la variable channel créée...

couv_RIKOT.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
Changer de contexte
Suivant
En résumé