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


posted on 2021-11-20 23:57  运维开发玄德公  阅读(5)  评论(0编辑  收藏  举报  来源

导航