一、问题
在日常开发过程中,我们通常会使用协程来并发处理数据,比如下面的例子采用 协程 + sync.WaitGroup 来并发处理数据:
从mysql请求的切片数据,遍历后开启协程根据指定字段统计数据,此处采用了协程组的方式提高效率
代码如下:
//结构体
type RespStruct struct{
struct01 //内嵌另外的结构体
struct02 //内嵌另外的结构体
}
func StatisticData(){
var respData []RespStruct
var wg sync.WaitGroup
//1.从mysql查询数据,封装到respData ,代码省略
//2.循环respData并且开启协程组,添加协程
for i, d := range respData {
wg.Add(1)
go func(req ProduceOrderProcessQueryRespParam) {
defer func() {
wg.Done()
}()
//打印参数
fmt.Println(req)
return
}(d)
}
wg.wait()
fmt.Println("end.....")
}
输出报错:
fatal error: newproc: function arguments too large for new goroutine
二、原因
见原文地址
原文地址
點擊查看更多內容
為 TA 點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優質文章
正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦