| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package main
- import (
- "fmt"
- "sync"
- )
- func work() {
- fmt.Println("It's function `work()`")
- }
- func main() {
- wg := new(sync.WaitGroup)
- for i := 0; i < 10; i++ {
- wg.Add(1)
- go func(wg *sync.WaitGroup) {
- defer wg.Done()
- work()
- }(wg)
- }
- wg.Wait()
- fmt.Println("End")
- }
- /*
- func main() {
- wg := new(sync.WaitGroup)
- for i := 0; i < 5; i++ {
- wg.Add(1)
- go work(i, wg)
- }
- wg.Wait()
- fmt.Println("Горутины завершили выполнение")
- }
- func work(id int, wg *sync.WaitGroup) {
- defer wg.Done()
- fmt.Printf("Горутина %d начала выполнение \n", id)
- time.Sleep(2 * time.Second)
- fmt.Printf("Горутина %d завершила выполнение \n", id)
- }
- */
|