¿Está bien dejar abierto un canal Go para siempre (nunca cerrar el canal) si nunca verifico su estado? ¿Llevará a pérdidas de memoria? ¿Está bien el siguiente código?¿Está bien dejar un canal abierto?
func (requestCh chan<- Request) GetResponse(data RequestData) Response {
reply := make(chan Response)
requestCh <- Request{data: data, replyCh: reply}
return <-reply
}
No estoy seguro de que estoy de acuerdo con la respuesta del enlace. Tuve una pérdida de memoria en el rango de 2GB. Tan pronto como agregué el cierre, el geiser se convirtió en un chorrito. – Richard
@Richard: Lea todo el hilo con cuidado. El autor de Go 'gc' y el autor de' gccgo' dicen que 'close's no es necesario, a menos que esté buscando' close'. Ese es un consejo autorizado. – peterSO
@peterSO, puede ser, pero sé lo que vi y eso es lo que informé, así que por favor no me desestime. – Richard