package main
import (
"fmt"
"time"
)
func test() {
for i := 0; i < 10; i++ {
fmt.Println("test() 你好Golang:", i)
time.Sleep(time.Millisecond * 100)
}
}
func main() {
go test()
for i := 0; i < 10; i++ {
fmt.Println("main() 你好Golang:", i)
time.Sleep(time.Millisecond * 50)
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
package main
import (
"fmt"
"sync"
"time"
)
var wg sync.WaitGroup
func test1() {
for i := 0; i < 10; i++ {
fmt.Println("test() 你好Golang:", i)
time.Sleep(time.Millisecond * 100)
}
wg.Done()
}
func main() {
wg.Add(1)
go test1()
wg.Add(1)
go test1()
for i := 0; i < 10; i++ {
fmt.Println("main() 你好Golang:", i)
time.Sleep(time.Millisecond * 50)
}
wg.Wait()
fmt.Println("主线程退出")
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31