go语言的并发原理——MPG模型
线程与协程区别
线程:是系统级线程,由系统自动创建,和销毁。
协程:架设在系统级线程之上的,由用户级线程,由用户(或者程序)完全控制的代码执行流程。用户级线程的创建销毁调度状态变更以及其中的代码和数据完全需要我们的程序自己去实现和处理。
协程优势
协程创建和销毁并不用通过操作系统去做,所以速度会很快。
不用操作系统调度运行,所以往往很容易控制,所以很灵活。
协程劣势
最明显也最重要的一个劣势就是复杂。线程一切操作系统代劳,而协程必须自己实现操作。
GMP模型
M
machine:系统级线程