首页 > Go语言教程 > Go语言并发 阅读:1,515

Go语言并发,Golang并发

pk10开户推出辅导班啦,包括「C语言辅导班、C++辅导班、算法/数据结构辅导班」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践 + 永久学习。QQ在线,随时响应!

并发指在同一时间内可以执行多个任务。并发编程含义比较广泛,包含多线程编程、多进程编程及分布式程序等。本章讲解的并发含义属于多线程编程。

Go 语言通过编译器运行时(runtime),从语言上支持了并发的特性。Go 语言的并发通过 goroutine 特性完成。goroutine 类似于线程,但是可以根据需要创建多个 goroutine 并发工作。goroutine 是由 Go 语言的运行时调度完成,而线程是由操作系统调度完成。

Go 语言还提供 channel 在多个 goroutine 间进行通信。goroutine 和 channel 是 Go 语言秉承的 CSP(Communicating Sequential Process)并发模式的重要实现基础。本章中,将详细为大家讲解 goroutine 和 channel 及相关特性。
本章内容:
1. Go语言goroutine(轻量级线程)
2. Go语言GOMAXPROCS(调整并发的运行性能)
3. 并发和并行的区别
4. goroutine和coroutine的区别
5. Go语言通道(chan)——goroutine之间通信的管道
6. Go语言并发打印(借助通道实现)
7. Go语言单向通道——通道中的单行道
8. Go语言带缓冲的通道
9. Go语言通道的多路复用——同时处理接收和发送多个通道的数据
10. Go语言RPC(模拟远程过程调用)
11. Go语言使用通道响应计时器的事件
12. Go语言关闭通道后继续使用通道
13. Go语言Telnet回音服务器——TCP服务器的基本结构
14. Go语言竞态检测——检测代码在并发环境下可能出现的问题
15. Go语言互斥锁(sync.Mutex)和读写互斥锁(sync.RWMutex)
16. Go语言等待组(sync.WaitGroup)