Sobes.tech
Junior — Middle

Que se passe-t-il si l'on écrit dans un canal dont le tampon est complètement rempli?

sobes.tech IA

Réponse de l'IA

En Go, si vous essayez d'écrire une valeur dans un canal avec tampon, qui est complètement rempli, l'opération d'écriture sera bloquée jusqu'à ce qu'il y ait de la place dans le canal (c'est-à-dire jusqu'à ce que quelqu'un lise du canal). Cela assure la synchronisation entre les goroutines et empêche la perte de données.

Exemple:

ch := make(chan int, 2) // tampon de 2 éléments
ch <- 1
ch <- 2
// ch <- 3 // ici, l'écriture sera bloquée jusqu'à ce que quelqu'un lise de ch