阅读量:79
在Go语言(Golang)中,实现并发编程主要依赖于两个关键字:goroutine 和 channel。以下是在Ubuntu上使用Go语言实现并发编程的基本步骤:
1. 安装Go语言
首先,确保你已经在Ubuntu上安装了Go语言。如果还没有安装,可以通过以下命令进行安装:
sudo apt update
sudo apt install golang-go
验证安装:
go version
2. 创建Go项目
创建一个新的目录来存放你的Go项目,并进入该目录:
mkdir my-concurrency-project
cd my-concurrency-project
3. 编写并发代码
创建一个名为 main.go 的文件,并编写以下代码:
package main
import (
"fmt"
"time"
)
func printNumbers() {
for i := 1; i <= 5; i++ {
fmt.Printf("Number: %d\n", i)
time.Sleep(1 * time.Second)
}
}
func main() {
// 启动一个新的goroutine来执行printNumbers函数
go printNumbers()
// 主goroutine继续执行
fmt.Println("Main goroutine is running")
// 等待一段时间,确保goroutine有足够的时间执行
time.Sleep(6 * time.Second)
fmt.Println("Main goroutine finished")
}
4. 运行代码
在终端中运行以下命令来编译并运行你的Go程序:
go run main.go
你应该会看到类似以下的输出:
Main goroutine is running
Number: 1
Number: 2
Number: 3
Number: 4
Number: 5
Main goroutine finished
解释
- goroutine:
go printNumbers()启动了一个新的goroutine来执行printNumbers函数。goroutine是Go语言中实现并发的基本单位,它们在同一个进程中并发执行。 - channel:虽然在这个简单的例子中没有使用channel,但它们是Go语言中用于在goroutine之间进行通信和同步的重要工具。
进一步学习
- Channel:学习如何使用channel来在goroutine之间传递数据和同步操作。
- Select语句:了解如何使用select语句来处理多个channel的操作。
- WaitGroup:学习如何使用sync.WaitGroup来等待一组goroutine完成。
通过这些基本概念和工具,你可以在Ubuntu上使用Go语言实现高效的并发编程。