本文实例讲述了go语言channel实现多核并行化运行的方法。分享给大家供大家参考。具体如下:
这里定义一个Add函数,用于返回两个整数的和,使用go 语句进行并行化运算,为了等待各个并行运算结束获得其返回值,需要引入channel
复制代码 代码如下:
package main
import "fmt"
func Add(x int,y int,channel chan int) {
sum := library.Add(x,y)
fmt.Println(sum)
channel <- 1
}
func main() {
n:=10
channel := make(chan int ,n)
for i:=0;i<n;i++{
go Add(1,i,channel)
}
for i:=0;i<n;i++{
<- channel
}
}
import "fmt"
func Add(x int,y int,channel chan int) {
sum := library.Add(x,y)
fmt.Println(sum)
channel <- 1
}
func main() {
n:=10
channel := make(chan int ,n)
for i:=0;i<n;i++{
go Add(1,i,channel)
}
for i:=0;i<n;i++{
<- channel
}
}
最后输出:
1
2
3
4
5
6
7
8
9
10
希望本文所述对大家的Go语言程序设计有所帮助。