Sobes.tech
Junior — Middle

¿Qué sucede si se realiza una escritura en un canal cuyo búfer está completamente lleno?

sobes.tech AI

Respuesta de la IA

En Go, si intentas escribir un valor en un canal con búfer que está completamente lleno, la operación de escritura se bloqueará hasta que haya espacio disponible en el canal (es decir, hasta que alguien lea del canal). Esto garantiza la sincronización entre goroutines y evita la pérdida de datos.

Ejemplo:

ch := make(chan int, 2) // búfer de 2 elementos
ch <- 1
ch <- 2
// ch <- 3 // aquí la escritura se bloqueará hasta que alguien lea de ch