导航菜单

Go语言并发编程

Goroutine基础

Goroutine是Go语言的轻量级线程,使用go关键字启动。

// 启动一个goroutine
func sayHello() {
    fmt.Println("Hello from goroutine")
}
go sayHello()

// 主协程等待
fmt.Println("main end")
// 实际开发中常用sync.WaitGroup等待所有goroutine结束
  • Goroutine非常轻量,数万个也不会崩溃。
  • 主协程退出会导致所有goroutine退出。