使用range从channel读数据
当需要从通道中读取多个值时,使用range
是常用模式:
使用for range
循环是从通道读取数据的三种方式之一。
通道被关闭后循环也会随即终止。
这是实现工作者协程池的常用模式:
创建单个通道供所有工作者协程使用
启动工作者协程
工作者协程中使用
for v := range chan
从通道中获取作业进行处理在所有作业入队之后关闭通道,因此所有工作者协程也会在它们处理完通道中的作业后结束
最后更新于
当需要从通道中读取多个值时,使用range
是常用模式:
使用for range
循环是从通道读取数据的三种方式之一。
通道被关闭后循环也会随即终止。
这是实现工作者协程池的常用模式:
创建单个通道供所有工作者协程使用
启动工作者协程
工作者协程中使用for v := range chan
从通道中获取作业进行处理
在所有作业入队之后关闭通道,因此所有工作者协程也会在它们处理完通道中的作业后结束
最后更新于