Skip to content

Goroutines

Goroutine 是 GO 提供的轻量级线程(协程),你可以无脑将并发任务塞给他,由 GO 运行时系统自动调度和管理。

关键字:go

示例

go
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() {
	go say("world")
	say("hello")
}

在这个例子中,say("world") 是一个 goroutine,它会在后台运行,而 say("hello") 则在主 goroutine 中执行。由于 say("world") 是并发执行的,所以它会和 say("hello") 交替输出结果。