Go并发模式之 for-select

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013862108/article/details/88623508
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:
         //进行非抢占式任务
   }
}

猜你喜欢

转载自blog.csdn.net/u013862108/article/details/88623508