07-携程-01-并发

2021-11-21  本文已影响0人  玄德公笔记

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

上一篇 下一篇

猜你喜欢

热点阅读