go语言channel实现多核并行化运行的方法_Golang

本文实例讲述了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
    }
}

最后输出:

1
2
3
4
5
6
7
8
9
10

希望本文所述对大家的Go语言程序设计有所帮助。

时间: 2024-08-20 07:34:05

go语言channel实现多核并行化运行的方法_Golang的相关文章

Go语言实现的简单网络端口扫描方法_Golang

本文实例讲述了Go语言实现的简单网络端口扫描方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import (  "net"  "fmt"  "os"  "runtime"  "time"  "strconv" ) func loop(startport, endport int, inport chan int) {   for i :=

go语言读取csv文件并输出的方法_Golang

本文实例讲述了go语言读取csv文件并输出的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import (     "encoding/csv"     "fmt"     "io"     "os" ) func main() {     file, err := os.Open("names.txt")     if err != nil {      

Go语言用map实现堆栈功能的方法_Golang

本文实例讲述了Go语言用map实现堆栈功能的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package stack import (     "strconv" ) type Stack struct {     quenu map[int]int } func New() *Stack{     s := new(Stack)     s.quenu = make(map[int]int)     return s } func (s *Stack) Pus

Go语言通过http抓取网页的方法_Golang

本文实例讲述了Go语言通过http抓取网页的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import (  "fmt"  "log"  "net/http"  "net/url"  "io/ioutil" ) //指定代理ip func getTransportFieldURL(proxy_addr *string) (transport *http.Tr

go语言执行windows下命令行的方法_Golang

本文实例讲述了go语言执行windows下命令行的方法.分享给大家供大家参考.具体如下: 在golang里执行windows下的命令行,例如在golang里面调用 del d:\a.txt 命令 复制代码 代码如下: package main import(     "fmt"     "os/exec" ) func main(){       c := exec.Command("cmd", "/C", "del

go语言使用pipe读取子进程标准输出的方法_Golang

本文实例讲述了go语言使用pipe读取子进程标准输出的方法.分享给大家供大家参考.具体如下: 其核心代码如下: 复制代码 代码如下: cmd := exec.Command("cmd", "args") stdout, err := cmd.StdoutPipe() cmd.Start() r := bufio.NewReader(stdout) line, _, err := r.ReadLine() 希望本文所述对大家的Go语言程序设计有所帮助.

Go语言图片处理和生成缩略图的方法_Golang

本文实例讲述了Go语言图片处理和生成缩略图的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import (     "fmt"     "os"     "image"     "image/color"     "image/draw"     "image/jpeg" ) func main() {     f1, err := os

go语言按显示长度截取字符串的方法_Golang

本文实例讲述了go语言按显示长度截取字符串的方法.分享给大家供大家参考.具体分析如下: 根据显示长度截取字符串,之前php用的utf8编码,10个英文和10个汉字的显示长度差距太大,按字节截取的话又会出错出现截取半个汉字的情况,所以写了这两个函数. 这两天在折腾golang,所以就用golang重写了着连个函数.代码如下: 复制代码 代码如下: package main import (     "fmt" ) func main() {     fmt.Println(show_st

Go语言判断指定文件是否存在的方法_Golang

本文实例讲述了Go语言判断指定文件是否存在的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main    import (     "fmt"     "os" )    func main() {     f, err := os.Open("dotcoo.com.txt")     if err != nil && os.IsNotExist(err) {         fmt.Pri