go 关闭channel分析
背景 最近使用go开发后端服务,服务关闭需要保证channel中的数据都被读取完,理由很简单,在收到系统的中断信号后,系统需要做收尾工作,保证channel的数据都要被处理掉,然后才可以关闭系统。 后面我会给出方案,见示例代码,但在解决这个问题之前我们先了解下close channel的一些特性。 channel 关闭channel ch := make(chan bool) close(ch) close(ch) // 这样会panic的,channel不能close两次 向已经关闭的chan...阅读全文