商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > Ubuntu下Golang的并发编程如何实现

Ubuntu下Golang的并发编程如何实现

  发布于2026-07-04 阅读(0)

扫一扫,手机访问

在Ubuntu环境下用Golang做并发编程,其实比想象中要清爽得多。Go语言原生自带的goroutine(轻量级线程)和channel(通道)两个核心工具,基本把并发开发的门槛降到了“开箱即用”的程度。下面直接上实操步骤,配合代码跑一遍,很快就能上手。

Ubuntu下Golang的并发编程如何实现

第一步,装好Go环境。Ubuntu上装Golang最省事的方式就是走apt:

sudo apt-get update
sudo apt-get install golang-go

装完后可以用 go version 验证一下。

第二步,新建一个Go程序文件,比如就叫 main.go。用你喜欢的文本编辑器打开,开始写代码。

第三步,先引入必要的包。这里我们用到两个:fmt用于输出,sync用于同步多个goroutine——不然主线程跑完了,goroutine可能还没执行完。

package main

import (
    "fmt"
    "sync"
)

第四步,编写一个要在goroutine里运行的函数。这里写一个简单的打印数字函数,从1到10。注意函数签名里要带上 *sync.WaitGroup 指针,这样才能通知主线程“我干完了”。

func printNumbers(wg *sync.WaitGroup) {
    defer wg.Done() // 函数结束时调用Done,相当于告诉WaitGroup:我完成了
    for i := 1; i <= 10; i++ {
        fmt.Printf("Number: %d\n", i)
    }
}

第五步,在 main 函数里启动goroutine。先创建一个 sync.WaitGroup 实例,调用 Add(1) 表示要等待一个goroutine。然后用 go printNumbers(&wg) 启动它。最后 wg.Wait() 会让主线程阻塞在这里,直到所有注册的goroutine都执行完 Done()

func main() {
    var wg sync.WaitGroup
    wg.Add(1)
    go printNumbers(&wg)
    wg.Wait()
}

第六步,运行看看效果:

go run main.go

终端里会依次打印出1到10的数字。虽然这个例子很简单,但它背后已经体现了Go并发编程的两个核心思路:通过 go 关键字让函数并发执行,通过 WaitGroup 协调多个并发任务的完成时机。实际项目中,你往往还需要用channel来在goroutine之间传递数据,避免共享内存带来的竞态问题。但万变不离其宗,先把这套基础跑通,后续无论是处理Web请求、批量任务还是后台服务,都能快速迁移过去。

本文转载于:https://www.yisu.com/ask/43426789.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注