为了账号安全,请及时绑定邮箱和手机立即绑定

“通道写完后,必须关闭通道,否则range遍历会出现死锁”这句话对吗?

“通道写完后,必须关闭通道,否则range遍历会出现死锁”这句话对吗?

慕虎7371278 2019-03-02 12:33:07
通道写完后,必须关闭通道,否则range遍历会出现死锁,请问这句话对吗?那么如果我有一个场景,一个goroutine往通道写数据,一个或多个goroutine从通道读数据,这种情况是没有关闭通道的,那应该怎么写?补充:我提的问题有点没说清楚,这个往通道写是个死循环的不断写的过程,读也是不断的读,所以你怎么关闭通道?目前我是开一个goroutine不断写,开5个goroutine用range读,尚没有问题,但是看书有这么一句所以问问。这个通道是不断写数据的,所以不存在“通道写完后”,所以也无法关闭,那么另外的goroutine就只管range读取数据就好了可以吗?,问题改成这个,理解对吗,目前程序运行没有报错,只是请教一下这样写是否规范。
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 452 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信