返回介绍

9 并发 Goroutines、Channel 和 Pipeline

发布于 2024-08-14 12:50:32 字数 2587 浏览 0 评论 0 收藏 0

上一章我们讨论了Go系统编程,包括Go函数和与操作系统通信的技术。前一章未涉及的两个系统编程领域是并发编程以及创建和管理多个线程。这两个主题将在本章和下一章中讨论。

GO提供了自己独特而新颖的方式来实现并发,这就是协程和通道。协程Goroutine是Go程序中可独立执行的最小实体单元,而通道Channel是Goroutine间并发且有效地获取数据的方式,从而允许goroutine具有引用点并相互通信。Go中的所有内容都是使用goroutines执行的,这是完全合理的,因为Go是一种并发编程语言。因此,当Go程序开始执行时,它的单个goroutine调用main()函数,该函数执行实际的程序。

本章的主要内容如下:

  • 进程,线程和Go协程之间的区别
  • Go调度器
  • 并发与并行
  • 创建Go协程
  • 创建通道
  • 从通道读取或接收数据
  • 往通道里写或发送数据
  • 创建管道
  • 等待你的Go协程结束

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文