golang吧 关注:6,540贴子:14,777
  • 9回复贴,共1

萌新求解答管道的问题

只看楼主收藏回复

要求是八个协程去计算,我只要有多个协程就会报错,单个协程就不会报错






IP属地:四川来自Android客户端1楼2021-09-14 17:24回复
    我觉得是因为有协程到了2000就关闭了管道,但是其他协程写入还没完成,所以报错,但是不应该只打印出来十多个


    IP属地:四川来自Android客户端2楼2021-09-14 17:27
    回复
      2026-01-14 02:39:54
      广告
      不感兴趣
      开通SVIP免广告
      求大佬给出解决方案


      IP属地:四川来自Android客户端3楼2021-09-14 17:27
      回复
        有人吗


        IP属地:四川来自Android客户端4楼2021-09-14 20:01
        回复
          就是你说的原因,可以用waitgroup控制管道关闭


          IP属地:四川来自Android客户端5楼2021-09-15 08:00
          收起回复
            不太清楚你的需求是自己整理的还是原题,我就直接说有什么问题了哈
            1. 在一对多模型中要确保只有一个那方能关闭管道才行,否则必然会引发panic
            2. 管道关闭之后还有数据未读出来(resChan),这个也是你的控制台只打印了十多个的原因
            3. 原题要求是计算完成之后处理结果,你的代码是边计算边处理结果
            4. 我贴的代码只能用于不会动态生成任务的情况


            IP属地:四川6楼2021-09-15 13:22
            收起回复
              极客,马哥,谷歌,go课程,vx: gobughub


              IP属地:江西7楼2021-09-30 21:35
              回复