如果我从不检查 Go 通道的状态,是否可以永远保持 Go 通道打开(从不关闭通道)?会导致内存泄漏吗?下面的代码可以吗?
func (requestCh chan<- Request) GetResponse(data RequestData) Response {
reply := make(chan Response)
requestCh <- Request{data: data, replyCh: reply}
return <-reply
}
可以让 Go 通道永远打开并且永远不关闭它。当通道不再被使用时,它将被垃圾回收。
请注意,只有当接收器处于关闭状态时才需要关闭通道
寻找关闭。关闭通道是一个控制信号
通道指示没有更多数据跟随。
设计问题:通道关闭
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)