go 并发小览

并发小结:

区分并行和并发,概念里头并发包括并行

多进程编程:

进程间通信包括,基于通信 基于信号 和 基于同步的ipc方法

--基于通信ipc方法,包括基于数据传递和内存共享。

---数据传递主要通过管道pipe和消息队列queue来实现

基于同步的ipc方法中,是通过信号量来同步的

基于信号的是通过操作系统的信号机制,唯一的一种异步ipc方法

 

go语言,包括 管道 信号和socket(代码演示)

 

进程状态切换(如图)

go 并发小览

进程同步:原子操作+临界区(如图)

go 并发小览

go 并发小览

 

 

多线程编程:

线程状态(如图)

go 并发小览

 

线程调度(如图)

go 并发小览

 

线程模型(如图)

go 并发小览

线程同步(如图):互斥+条件=>线程安全性

go 并发小览

go 并发小览

go 并发小览

go 并发小览

go并发机制:

线程实现模型(如图)

go 并发小览

调度器(如图)

go 并发小览

go 并发小览

 

go 并发小览

 

go 并发小览

go 并发小览

go 并发小览

goroutine和channel(代码)

 

go同步:锁 条件变量 原子操作 单次执行 waitGroup 对象池 (代码)

 

其他内容:

https://blog.csdn.net/li_101357/article/details/80281530

https://www.cnblogs.com/aaronthon/p/10946433.html

https://segmentfault.com/a/1190000019582694

https://blog.csdn.net/xxywxlyygx/article/details/87383266