goroutine是Go语言中轻量级的并发执行单元,可以同时执行多个goroutine,而不需要显式地管理线程的生命周期。goroutine由Go运行时(runtime)进行调度,可以在并发编程中实现并行执行。
代码示例:
下面是一个使用goroutine的示例,计算斐波那契数列:
package main
import (
"fmt"
"sync"
)
func fibonacci(n int, wg *sync.WaitGroup) {
defer wg.Done()
x, y := 0, 1
for i := 0; i < n; i++ {
fmt.Println(x)
x, y = y, x+y
}
}
func main() {
var wg sync.WaitGroup
wg.Add(2)
go fibonacci(10, &wg)
go fibonacci(5, &wg)
wg.Wait()
}
在上述代码中,我们使用go关键字启动了两个goroutine,分别计算斐波那契数列的前10个和前5个数字。通过使用goroutine,我们可以并行地执行这两个计算任务,而不需要显式地创建和管理线程。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!