Python3 異步編程之進程與線程
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()函數 多線程缺點:某個線程出問題,整個掛掉
Python3 異步編程之進程與線程