在Golang中,实现并发编程主要依赖于两个关键字:goroutine 和 channel。goroutine 是轻量级的线程,可以在程序中同时运行多个任务。channel 用于在 goroutine 之间传递数据。下面是一个简单的示例,展示了如何在 CentOS 上使用 Golang 实现并发编程。
首先,确保你已经安装了 Golang。如果没有,请访问 Golang 官网(https://golang.org/dl/)下载并安装适用于 CentOS 的版本。
接下来,创建一个名为 concurrency.go 的文件,并输入以下代码:
package main
import (
"fmt"
"sync"
"time"
)
func main() {
var wg sync.WaitGroup
for i := 1; i <= 5; i++ {
wg.Add(1)
go func(id int) {
defer wg.Done()
fmt.Printf("Goroutine %d started\n", id)
time.Sleep(2 * time.Second)
fmt.Printf("Goroutine %d finished\n", id)
}(i)
}
wg.Wait()
fmt.Println("All goroutines finished")
}
这个程序创建了 5 个 goroutine,每个 goroutine 在启动后等待 2 秒钟,然后结束。sync.WaitGroup 用于确保主程序等待所有 goroutine 完成后再退出。
要运行此程序,请在终端中执行以下命令:
go run concurrency.go
输出应类似于以下内容:
Goroutine 1 started
Goroutine 2 started
Goroutine 3 started
Goroutine 4 started
Goroutine 5 started
Goroutine 1 finished
Goroutine 2 finished
Goroutine 3 finished
Goroutine 4 finished
Goroutine 5 finished
All goroutines finished
这就是在 CentOS 上使用 Golang 实现并发编程的基本方法。你可以根据需要修改此示例,以适应你的具体需求。