本文实例讲述了go语言channel实现多核并行化运行的方法。分享给大家供大家参考。具体如下:
这里定义一个Add函数,用于返回两个整数的和,使用go 语句进行并行化运算,为了等待各个并行运算结束获得其返回值,需要引入channel
复制代码 代码如下:package main
import "fmt"
func Add(x int,y int,channel chan int) {
nbsp;nbsp;nbsp; sum := library.Add(x,y)
nbsp;nbsp;nbsp; fmt.Println(sum)
nbsp;nbsp;nbsp; channel lt;- 1
}
func main() {
nbsp;nbsp;nbsp; n:=10nbsp;
nbsp;nbsp;nbsp; channel := make(chan int ,n)
nbsp;nbsp;nbsp; for i:=0;ilt;n;i++{
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; go Add(1,i,channel)
nbsp;nbsp;nbsp; }
nbsp;nbsp;nbsp; for i:=0;ilt;n;i++{
nbsp;
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; lt;- channel
nbsp;nbsp;nbsp; }
}
最后输出:
1
2
3
4
5
6
7
8
9
10
希望本文所述对大家的Go语言程序设计有所帮助。 (编辑:海南站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|