func main() {
ch := make(chan struct{}, 10)
var wg sync.WaitGroup
for i := 0; i < 1000; i++ {
ch <- struct{}{}
wg.Add(1)
go func(i int) {
defer func() {
<-ch
wg.Done()
}()
fmt.Println(i)
}(i)
}
wg.Wait()
}
Go to list of users who liked
More than 3 years have passed since last update.
func main() {
ch := make(chan struct{}, 10)
var wg sync.WaitGroup
for i := 0; i < 1000; i++ {
ch <- struct{}{}
wg.Add(1)
go func(i int) {
defer func() {
<-ch
wg.Done()
}()
fmt.Println(i)
}(i)
}
wg.Wait()
}
Register as a new user and use Qiita more conveniently
Go to list of users who liked