其他分享
首页 > 其他分享> > 07-携程-01-并发

07-携程-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

标签:01,07,携程,fmt,say,time,world,main,hello
来源: https://blog.csdn.net/xingzuo_1840/article/details/121367131