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()函数多线程缺点:某个线程出问题,整个挂掉