Skip to content

【1】案例:

请编写一个程序,完成如下功能:

(1)在主线程中,开启一个goroutine,该goroutine每隔1秒输出"hello golang" (2)在主线程中也每隔一秒输出"hello msb",输出10次后,退出程序 (3)要求主线程和goroutine同时执行

代码:

go
package main

import(
        "fmt"
        "strconv"
        "time"
)

func test(){
        for i := 1;i <= 10;i++ {
                fmt.Println("hello golang + " + strconv.Itoa(i))
                //阻塞一秒:
                time.Sleep(time.Second)
        }
}

func main(){//主线程
        go test() //开启一个协程

        for i := 1;i <= 10;i++ {
                fmt.Println("hello msb + " + strconv.Itoa(i))
                //阻塞一秒:
                time.Sleep(time.Second)
        }
}

代码结果:

主线程和协程执行流程示意图:

Java · Golang · Rust