AK
Size: a a a
AK
AK
MW
var concurrency int
flag.IntVar(&concurrency, "concurrency", 50, "Max Concurrent Requests")
// ...
concurrentGoroutines := make(chan bool, concurrency)
var wg sync.WaitGroup
for _, url := range urls {
wg.Add(1)
go func(url string) {
defer wg.Done()
concurrentGoroutines <- true
MakeRequest(url)
<-concurrentGoroutines
}(url)
}
wg.Wait()
AK
var concurrency int
flag.IntVar(&concurrency, "concurrency", 50, "Max Concurrent Requests")
// ...
concurrentGoroutines := make(chan bool, concurrency)
var wg sync.WaitGroup
for _, url := range urls {
wg.Add(1)
go func(url string) {
defer wg.Done()
concurrentGoroutines <- true
MakeRequest(url)
<-concurrentGoroutines
}(url)
}
wg.Wait()
AK
SN
var concurrency int
flag.IntVar(&concurrency, "concurrency", 50, "Max Concurrent Requests")
// ...
concurrentGoroutines := make(chan bool, concurrency)
var wg sync.WaitGroup
for _, url := range urls {
wg.Add(1)
go func(url string) {
defer wg.Done()
concurrentGoroutines <- true
MakeRequest(url)
<-concurrentGoroutines
}(url)
}
wg.Wait()
AK
SN
s
AK
RS
var concurrency int
flag.IntVar(&concurrency, "concurrency", 50, "Max Concurrent Requests")
// ...
concurrentGoroutines := make(chan bool, concurrency)
var wg sync.WaitGroup
for _, url := range urls {
wg.Add(1)
go func(url string) {
defer wg.Done()
concurrentGoroutines <- true
MakeRequest(url)
<-concurrentGoroutines
}(url)
}
wg.Wait()
chan bool
если можно chan struct{}
?RS
var concurrency int
flag.IntVar(&concurrency, "concurrency", 50, "Max Concurrent Requests")
// ...
concurrentGoroutines := make(chan bool, concurrency)
var wg sync.WaitGroup
for _, url := range urls {
wg.Add(1)
go func(url string) {
defer wg.Done()
concurrentGoroutines <- true
MakeRequest(url)
<-concurrentGoroutines
}(url)
}
wg.Wait()