1.GO多并发编程
1.1协程
- 协程:用户态,轻量级线程,栈KB级别
- 线程:内核态,线程跑多个协程,栈MB级别
快速打印Hello goroutine:0~hello goroutine:4
Go语言开启协程是在要调用的函数的时候在前面加上go,就为创建了一个go语言的协程
运行结果:
1.2协程的通信
提倡通过通信共享内存而不是通过共享内存而实现通信
- 左图:通过通信来共享内存的示意图,Gorountine是一个程序并发的执行体,通道将执行体作连接,遵循先入先出,保证收发数据的顺序。
- 右图:通过共享内存实现通信的示意图