本文實(shí)例講述了go語(yǔ)言channel實(shí)現(xiàn)多核并行化運(yùn)行的方法。分享給大家供大家參考。具體如下:
這里定義一個(gè)Add函數(shù),用于返回兩個(gè)整數(shù)的和,使用go 語(yǔ)句進(jìn)行并行化運(yùn)算,為了等待各個(gè)并行運(yùn)算結(jié)束獲得其返回值,需要引入channel
復(fù)制代碼 代碼如下:
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;in;i++{
go Add(1,i,channel)
}
for i:=0;in;i++{
- channel
}
}
最后輸出:
1
2
3
4
5
6
7
8
9
10
希望本文所述對(duì)大家的Go語(yǔ)言程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- Go語(yǔ)言 channel如何實(shí)現(xiàn)歸并排序中的merge函數(shù)詳解
- Go語(yǔ)言的管道Channel用法實(shí)例
- Go語(yǔ)言中使用 buffered channel 實(shí)現(xiàn)線程安全的 pool
- Go語(yǔ)言中 Channel 詳解