【发布时间】:2015-11-01 09:10:29
【问题描述】:
我有一个 CSV 文件,其中包含大约 10k 个 URL,我需要通过 HTTP 获取。将 Go 例程的并发限制在一次不超过 16 个的最简单方法是什么?
func getUrl(url string) {
request := gorequest.New()
resp, body, errs := request.Get(each[1]).End()
_ = resp
_ = body
_ = errs
}
func main() {
csvfile, err := os.Open("urls.csv")
defer csvfile.Close()
reader := csv.NewReader(csvfile)
reader.FieldsPerRecord = -1
rawCSVdata, err := reader.ReadAll()
completed := 0
for _, each := range rawCSVdata {
go getUrl(each[1])
completed++
}
}
【问题讨论】:
-
这个问题可能是相关的stackoverflow.com/q/18405023