Ich versuche, eine Datei zu verarbeiten, die 200 URLs enthält, und verwende jede URL, um eine HTTP-Anfrage zu stellen. Ich muss jedes Mal maximal 10 URLs gleichzeitig verarbeiten (der Code sollte blockieren, bis 10 URLs die Verarbeitung beenden). Versucht, es in go zu lösen, aber ich bekomme immer die ganze Datei verarbeitet mit 200 gleichzeitige Verbindung erstellt.Verarbeiten Sie gleichzeitige HTTP-Anfragen in Golang
for scanner.Scan() { // loop through each url in the file
// send each url to golang HTTPrequest
go HTTPrequest(scanner.Text(), channel, &wg)
}
fmt.Println(<-channel)
wg.Wait()
Was soll ich tun?
Was es auf 10 goroutines begrenzen machen würde? Die Nummer 10 ist nirgendwo in deinem Code zu sehen. Überprüfen Sie diese verwandte Frage: [Ist das ein idiomatischer Worker-Thread-Pool in Go?] (Http://stackoverflow.com/questions/38170852/is-this-anidiomatic-worker-thread-pool-in-go/38172204 # 38172204) – icza