1 Star 0 Fork 5

leastsoft/go底层研究

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
channel.go 976 Bytes
一键复制 编辑 原始数据 按行查看 历史
jufakeji 提交于 2018-12-05 11:37 +08:00 . channel实践
//++++++++++++++++++++++++++++++++++++++++
//Fighting for great,share generate value!
//Build the best soft by golang,let's go!
//++++++++++++++++++++++++++++++++++++++++
//Author:ShirDon <http://www.shirdon.com>
//Email:hcbsts@163.com; 823923263@qq.com
//++++++++++++++++++++++++++++++++++++++++
package main
import (
"fmt"
"runtime"
)
func main() {
chan_n := make(chan int ,1)
chan_c := make(chan int, 2)
done := make(chan struct{})
go func() {
char_seq := []string{"A","B","C","D","E","F","G","H","I","J","K"}
for i := 0; i < 10; i += 2 {
a := <-chan_n
fmt.Print(a)
fmt.Print(char_seq[i])
fmt.Print(char_seq[i+1])
chan_c <- 2
}
done <- struct{}{}
}()
go func() {
for i := 1; i < 11; i += 2 {
b := <-chan_c
fmt.Print(b)
fmt.Print(i)
fmt.Print(i + 1)
chan_n <- 1
}
}()
chan_n <- 1 //先发送到chan_n func 第一个方法永远是先接收再发送
<-done
t := runtime.NumGoroutine()
fmt.Println("\n:aaa",t)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/leastsoft/go_bottom_study.git
git@gitee.com:leastsoft/go_bottom_study.git
leastsoft
go_bottom_study
go底层研究
master

搜索帮助