在Debian上利用Golang进行并发编程,可按以下步骤操作:
安装Golang
执行命令:
sudo apt update && sudo apt install golang-go
验证安装:go version
。
编写并发程序
go
关键字启动轻量级线程。func printNumbers() {
for i := 1; i <= 5; i++ {
fmt.Println(i)
}
}
func main() {
go printNumbers() // 启动goroutine
time.Sleep(time.Second) // 等待goroutine执行(实际场景建议用channel同步)
}
make
创建通道,用<-
发送/接收数据。ch := make(chan int)
go func() {
ch <- 42 // 发送数据
}()
result := <-ch // 接收数据
fmt.Println(result)
sync.WaitGroup
:等待一组goroutine完成。var wg sync.WaitGroup
wg.Add(1)
go func() {
defer wg.Done()
// 任务代码
}()
wg.Wait()
sync.Mutex
:保护共享资源,避免竞态条件。var counter int
var mutex sync.Mutex
go func() {
mutex.Lock()
counter++
mutex.Unlock()
}()
运行程序
在项目目录下执行:go run main.go
。
注意事项:
context
或channel
控制)。make(chan int, size)
)提升性能。go run -race
检测数据竞争问题。参考资料:[1,2,3,5,6,7,8,9,10,11]