使用go 方法 开启轻量级线程
package main
import (
"fmt"
"time"
)
func say(s string) {
for i := 0; i < 10; i++ {
time.Sleep(100 * time.Microsecond)
fmt.Println(s)
}
}
func main() {
go say("world")
say("hello")
}
输出结果:
两个子线程交替打印字符串
也可以使用chanel来处理
func main() {
ch := make(chan bool)
go func() {
for i := 0; i < 3; i++ {
time.Sleep(100 * time.Millisecond)
fmt.Println("hello")
}
ch <- true
}()
<-ch
fmt.Println("done")
}