Python3 异步编程之进程与线程-1
一、了解进程间通信
-
进程间通信
-
进程
-
线程
-
线程 vs 进程
-
IO模型
-
并发 vs 并行
-
异步 vs 同步
二、多线程与多进程的用法
-
计算密集型 vs I/O密集型
-
GIL
-
多线程
-
多进程
三、协程的好处与用法
-
协程
-
yield
-
yield from
四、进程间通信-IPC 01
-
管道:无名管道和命名管道(FIFO)
-
消息队列
-
信号量
-
共享存储
-
Socket
-
Streams
相关定义:
管道:
命名管道:
消息队列:
信号量:
共享内存:
元子操作:
五、进程特征
-
动态性
-
并发性
-
独立性
-
异步性
六、进程状态
-
运行 running 占用了CPU正在运行
-
就绪 ready 等待CPU
-
阻塞 blocked 暂时不具备运行条件,即使CPU空闲
相关定义:
进程控制块:
Unix系统中的几个进程控制操作:
线程:
线程之间共享:
线程的独立信息:
线程的创建:
七、了解进程间通信02
I/O模型
-
阻塞式
-
非阻塞式
-
I/O复用
-
信号驱动式
-
异步I/O
相关定义:
I/O操作的两个阶段:
阻塞式I/O:
非阻塞式I/O:
I/O复用:
信号驱动式:
异步I/O:
并发和并行:
异步与同步:
异步的实现:
处理多任务操作:
-
多进程/多线程
-
I/O模型
-
协程
多线程、多进程实现模式:master worker模式
master分配任务 多进程缺点:创建进程资源需要多frok()函数 多线程缺点:某个线程出问题,整个挂掉