/topics/391922084
goroutine是golang中在语言级别实现的轻量级线程,仅仅利用 go 就能立刻起一个新线程。多线程会引入线程之间的同步问题,在golang中可以使用channel作为同步的工具。 通过channel可以实现两个goroutine之间的通信。 创建一个channel, make(chan TYPE {, NUM}) , TYPE指的是channel中传输的数据类型,第二个参数是可选的,指的是channel的容量大小。 向channel传入数据, CHAN <- DATA , CHAN 指的是目的channel即收集数据的一方, DATA 则是要传的数据。 从channel读取数据, DATA := <-CHAN ,和向channel传入数据相反,在数据输送箭头的右侧的是channel,形象地展现了数据从‘隧道’流出到变量里。
相关文章
- golang 的 操作符号“<-“是什么
- mysql有符号和无符号,MySQL中的“无符号”是什么意思以及何时使用它?
- Golang操作Excel的模块Excelize学习总结-设置样式
- Golang操作Excel的模块Excelize学习总结2-设置单元格数据
- Golang操作Excel的模块Excelize学习总结-工具函数
- Mongodb 简单操作备忘录及Golang操作mongodb的笔记
- C++11实现golang的defer类似Java finally操作。
- golang关于数组的一些常用操作总结
- 【Golang学习之旅】Go-zero + GORM:微服务架构中的 ORM 与数据库操作
- Golang Slice 删除指定的索引(下标)和 slice 清空 等常用操作