01-并发
1. 语法
go 函数名( 参数列表 )
2. 示例
1)并发状态
package main
import (
"fmt"
"time"
)
func say(s string) {
for i := 0; i < 5; i++ {
time.Sleep(100 * time.Millisecond)
fmt.Println(s)
}
}
//main中一个线程打印5次hello,另一个线程打印5次world,
func main() {
go say("world")
say("hello")
}
结果
hello
world
hello
world
hello
world
world
hello
world
hello
2)如果不是并发的状态
package main
import (
"fmt"
"time"
)
func say(s string) {
for i := 0; i < 5; i++ {
time.Sleep(100 * time.Millisecond)
fmt.Println(s)
}
}
func main() {
say("world")
say("hello")
}
输出:
world
world
world
world
world
hello
hello
hello
hello
hello
说明:main()中,前边执行完5次打印world,后边才开始执行打印5次hello