Junior — Middle
Was passiert, wenn man in einen Kanal schreibt, dessen Puffer vollständig gefüllt ist?
sobes.tech KI
Antwort von AI
In Go, wenn Sie versuchen, einen Wert in einen gepufferten Kanal zu schreiben, der vollständig gefüllt ist, wird die Schreiboperation blockiert, bis im Kanal Platz frei wird (d.h., bis jemand aus dem Kanal liest). Dies sorgt für Synchronisation zwischen Goroutinen und verhindert Datenverlust.
Beispiel:
ch := make(chan int, 2) // Puffer mit 2 Elementen
ch <- 1
ch <- 2
// ch <- 3 // hier wird die Schreiboperation blockiert, bis jemand aus ch liest