Go并发模式之 for-select

  • Post author:
  • Post category:其他


for - select

for{  //要不就无限循环,要不就使用range 语句循环

   select{
      //使用channel进行作业
   }
}

以下情况使用 for-select

向channel 发送迭代变量  ---for select

for _, s := range []string{"a", "b", "c"}{
   select {
      case <-done :
         return
      case stringStream <- s :
   }
}

循环等待停止

for{
   select{
      case <- done :
         return
      default :
   }

   //进行非抢占式任务
}


for{
   select{
      case <- done :
         return
      default:
         //进行非抢占式任务
   }
}



版权声明:本文为u013862108原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。