go 并发小览
并发小结:
区分并行和并发,概念里头并发包括并行
多进程编程:
进程间通信包括,基于通信 基于信号 和 基于同步的ipc方法
--基于通信ipc方法,包括基于数据传递和内存共享。
---数据传递主要通过管道pipe和消息队列queue来实现
基于同步的ipc方法中,是通过信号量来同步的
基于信号的是通过操作系统的信号机制,唯一的一种异步ipc方法
go语言,包括 管道 信号和socket(代码演示)
进程状态切换(如图)
进程同步:原子操作+临界区(如图)
多线程编程:
线程状态(如图)
线程调度(如图)
线程模型(如图)
线程同步(如图):互斥+条件=>线程安全性
go并发机制:
线程实现模型(如图)
调度器(如图)
goroutine和channel(代码)
go同步:锁 条件变量 原子操作 单次执行 waitGroup 对象池 (代码)
其他内容:
https://blog.****.net/li_101357/article/details/80281530
https://www.cnblogs.com/aaronthon/p/10946433.html