Go 并发编程基础(一)goroutine,channel
来源:互联网 发布:通过邮箱注册知乎 编辑:程序博客网 时间:2024/05/29 15:44
package mainimport ( "fmt")func sum(values []int, resultChan chan int) { sum := 0 for _, value := range values { sum += value } resultChan <- sum //将运算结果写到channel中}func main() { values := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10} //定义并初始化了一个大小为10的数字数组 resultChan := make(chan int, 2) //定义大小为2的channel go sum(values[:len(values)/2], resultChan) //开启协程1 计算数组后半部分的和,并将结果写到channel中堵塞 go sum(values[len(values)/2:], resultChan) //开启协程2 计算数组前半部分的和,并将结果写到channel中堵塞 sum1, sum2 := <-resultChan, <-resultChan //将chennel中堵塞的数据读出 fmt.Println("Result:", sum1, sum2, sum1+sum2)}
1 0
- Go 并发编程基础(一)goroutine,channel
- Go-Goroutine-Channel-基础理解
- go的并发编程goroutine
- Go并发编程之goroutine
- Go并发编程之channel
- go 使用 goroutine channel 通信
- golang语言并发与并行——goroutine和channel的详细理解(一)
- golang语言并发与并行——goroutine和channel的详细理解(一)
- golang语言并发与并行——goroutine和channel的详细理解(一)
- Go并发编程——channel
- Go基础学习-goroutine
- Go中的goroutine和channel使用
- 【golang】go-channel-goroutine实践1
- 【golang】go-channel-goroutine实践2
- TODO:Go语言goroutine和channel使用
- Go语言goroutine+channel+select简介
- 理解Go的Goroutine和channel
- Go语言goroutine并发处理
- 从零开始的Android新项目2 - Gradle篇
- 决策支持系统调研
- javaScript & jquery完美判断图片是否加载完毕
- 第36讲项目1——转着圈加密
- String类型详解
- Go 并发编程基础(一)goroutine,channel
- 第六届蓝桥杯省赛(c++)B组 移动距离;
- knockoutjs十五 template绑定
- jquery获取复选框被选中的值
- 集合的使用
- Java开源项目(一起感受开源的力量)
- iOS @property 属性详解
- 【HTML5】引号使用
- job description sample