Junior — Middle
Wat gebeurt er als je schrijft naar een kanaal waarvan de buffer volledig gevuld is?
sobes.tech AI
Antwoord van AI
In Go, als je probeert een waarde te schrijven naar een gebufferd kanaal dat volledig vol is, wordt de schrijfbewerking geblokkeerd totdat er ruimte vrij komt in het kanaal (dat wil zeggen, totdat iemand uit het kanaal leest). Dit zorgt voor synchronisatie tussen goroutines en voorkomt dat gegevens verloren gaan.
Voorbeeld:
ch := make(chan int, 2) // buffer van 2 elementen
ch <- 1
ch <- 2
// ch <- 3 // hier wordt de schrijfbewerking geblokkeerd totdat iemand uit ch leest