并行计算之OpenMP入门简介_openmp 并行计算,带你轻松理解Golang-Hook机制
package main
import (
"fmt"
"runtime"
"sync"
)
func main() {
// 设置Go程的数量
runtime.GOMAXPROCS(4)
// 使用WaitGroup等待所有Go程执行完成
var wg sync.WaitGroup
wg.Add(2)
// 创建并启动第一个Go程
go func() {
defer wg.Done() // 当这个Go程结束时,从WaitGroup的计数中减去1
for i := 0; i < 5; i++ {
fmt.Println("Go程1:", i)
}
}()
// 创建并启动第二个Go程
go func() {
defer wg.Done() // 当这个Go程结束时,从WaitGroup的计数中减去1
for i := 0; i < 5; i++ {
fmt.Println("Go程2:", i)
}
}()
// 等待所有Go程完成
wg.Wait()
}
这段代码使用Go语言的go
关键字创建并启动了两个并行的Go程,每个Go程都打印了一定次数的数字。使用sync.WaitGroup
确保主Go程等待所有的并行Go程完成后再退出。这是一个简单的Golang并行编程示例,适合初学者理解和实践。
评论已关闭