1. 首页
  2. 主题
  3. Go问与答

关于chan的一点疑惑,望大家解答,谢谢!

love00wanggang · · 2827 次点击
1、在一次循环中生成了很多个chan, 那么在循环结束时是否要关闭这些chan, 如不关闭会造成资源泄漏么? 2、多个协程 对一个 chan 写入, 一个协程读取此chan中的内容, 如果突然关闭此chan 就会造成已启动的多个写协程 对已关闭的chan写操作导致的崩溃, 如何避免这种情况?
菜鸟来尝试回答。。 1 我的理解是 close 是用来告知不会再对chan输入数据,而不是对资源的释放,所以不进行close应该没问题 2 不知道楼主是在什么情境下会突然关闭chan,我的经验是确保最后一个写入才关闭chan
#1
更多评论
不要在读chan的这一方关闭,应该由负责写chan的一方来关闭。v, ok := <- ch 可以判断ch是否关闭
#2

用户登录

没有账号?注册

今日阅读排行

    加载中

一周阅读排行

    加载中