多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# **GO并发-协程,通道和管道** 上一章我们讨论了Go系统编程,包括Go函数和与操作系统通信的技术。系统编程中,前面章节未涉及的两个领域是并发编程以及创建和管理多个线程。这两个主题将在本章和下一章中讨论。 GO提供了自己独特而新颖的方式来实现并发,这就是协程(**`goroutine`**)和通道(**`channels`**)。协程是Go程序中可独立执行的最小实体单元,而通道是协程间并发有效获取数据的方式,这允许协程间具有引用点并可以相互通信。Go中的所有内容都是使用协程执行的,这是完全合理的,因为Go是一种并发编程语言。因此,当Go程序开始执行时,单个协程调用`main()`函数,该函数执行实际的程序。 本章的内容和代码都比较简单,你应该可以很容易地理解它们。`goroutines`和`channels`中更高级的部分留到第10章中。 本章的主要内容如下: - 进程,线程和Go协程之间的区别 - Go调度器 - 并发与并行 - `Erlang`和`Rust`中的并发模型 - 创建Go协程 - 创建通道 - 从通道读取或接收数据 - 往通道里写或发送数据 - 创建管道 - 等待你的Go协程结束