Junior — Middle
Quelles sont les caractéristiques distinctives de l'utilisation des canaux tamponnés en programmation ?
sobes.tech IA
Réponse de l'IA
Les canaux tamponés en Go ont les caractéristiques distinctives suivantes :
- Permettent d'envoyer plusieurs valeurs dans un canal sans réception immédiate, jusqu'à ce que le tampon soit plein.
- L'expéditeur se bloque uniquement lorsque le tampon est plein, et le récepteur lorsque le tampon est vide.
- Améliorent les performances et permettent une synchronisation plus flexible des goroutines.
- Utilisés pour implémenter des files d'attente et des tampons entre producteur et consommateur.
Exemple :
ch := make(chan int, 3) // tampon de 3 éléments
ch <- 1
ch <- 2
ch <- 3
// L'expéditeur ne se bloque pas tant que le tampon n'est pas plein
fmt.Println(<-ch) // 1