image

编辑人: 沉寂于曾经

calendar2025-06-04

message9

visits890

Go语言中的goroutine是什么?

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,我们可以并行地执行这两个计算任务,而不需要显式地创建和管理线程。


喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!

创作类型:
原创

本文链接:Go语言中的goroutine是什么?

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。
分享文章
share