07-携程-01-并发

2021/11/21 6:13:21

本文主要是介绍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



这篇关于07-携程-01-并发的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程