Sobes.tech
Junior — Middle

Dans quelles conditions un blocage se produit-il lors de l'utilisation d'un canal tampon dans un système de transmission de données?

sobes.tech IA

Réponse de l'IA

En Go, un canal con búfer se bloquea en dos casos principales:

  1. Lors de l'écriture (envoi) dans le canal : si le tampon du canal est plein (c'est-à-dire que le nombre d'éléments dans le canal a atteint sa capacité), la tentative d'envoyer une nouvelle valeur bloque la goroutine jusqu'à ce que quelqu'un lise du canal et libère de l'espace.

  2. Lors de la lecture du canal : si le canal est vide (aucun élément à lire), la tentative de lecture bloque la goroutine jusqu'à ce que quelqu'un envoie une nouvelle valeur.

Ainsi, le blocage se produit lors de l'envoi de données dans un tampon plein ou lors de la lecture d'un tampon vide.