go 开启进程,多个线程同时使用
package main
import (
"fmt"
"sync"
"time"
)
var wg sync.WaitGroup
func test(){
for i := 0; i < 10; i++ {
fmt.Println("test() 你好golang-",i)
time.Sleep(100 * time.Millisecond)
}
wg.Wait() //协程计数器减1
}
func test2(){
for i := 0; i < 10; i++ {
fmt.Println("test() 你好golang-",i)
time.Sleep(100 * time.Millisecond)
}
wg.Wait() //协程计数器减1
}
func main() {
wg.Add(1) //协程计数器加1
go test() //表示开启test()一个协程
wg.Add(1) //协程计数器加1
go test2() //表示开启test2()一个协程
for i := 0; i < 10; i++ {
fmt.Println("main() 你好go-",i)
time.Sleep(20 * time.Millisecond)
}
wg.Wait() //等待所有协程结束后,主协程在结束
fmt.Println("main() 主线程结束")
}