4.1 并发基础
在CSP系统中,所有的并发操作都是通过独立线程以异步运行的方式来实现。这些线程必须通过在彼此之间发送消息,从而向另一个线程请求信息或者将信息提供给另一个线程。
4.2 协程
进程(process)、进程内的线程(thread)以及进程内的协程(coroutine,也叫轻量级线程)。与传统的系统级线程和进程相比,协程的最大优势在于其“轻量级”,可以轻松创建上百万个而不会导致系统资源衰竭,而线程和进程通常最多也不能超过1万个。这也是协程也叫轻量级线程的原因。
Go 语言在语言级别支持轻量级线程,叫goroutine。
4.3 goroutine
func Add(x, y int) {
z := x + y
fmt.Println(z)
}
并发执行:
go Add(1,1)
在一个函数前加上关键字 go 就会在一个新的goroutine中执行。当