在主线程中开启一个goroutines,该协程每隔一秒输出“hello,world”,在主线程中也每隔一秒输出“hello,goland”,输出10次后退出程序,要求主线程和goroutine同时执行;
时间: 2024-02-21 13:58:51 浏览: 71
定时器0定时1秒,每过一秒钟打印输出一个 Hello World
可以使用Go语言中的`go`关键字和`time`包实现这个需求。代码如下:
```go
package main
import (
"fmt"
"time"
)
func main() {
for i := 0; i < 10; i++ {
// 开启一个goroutine
go func() {
fmt.Println("hello, world")
}()
// 主线程输出
fmt.Println("hello, go")
// 休眠1秒
time.Sleep(time.Second)
}
}
```
在每次循环中,我们都会开启一个goroutine输出“hello,world”,然后主线程输出“hello,go”,最后休眠1秒。因为goroutine的执行是并发的,所以这两个输出语句会同时执行。由于主线程休眠了1秒,所以每次输出语句之间会间隔1秒钟。最终程序会输出10次“hello,world”和“hello,go”,然后退出。
阅读全文