1. 程式人生 > >Python 37 進程池與線程池 、 協程

Python 37 進程池與線程池 、 協程

程序 圖片 image 完整 strong 自動 兩種 src pan

一:進程池與線程池

提交任務的兩種方式:

1、同步調用:提交完一個任務之後,就在原地等待,等任務完完整整地運行完畢拿到結果後,再執行下一行代碼,會導致任務是串行執行

2、異步調用:提交完一個任務之後,不是原地等待,而是直接執行下一行代碼,會導致任務是並發執行的,結果future對象會在任務運行完畢後自動傳給回調函數

二:協程

基於單線程下實現並發,只有一個主線程(如下圖:可利用的CPU只有一個)的情況下實現並發,並發的本質:切換+保存狀態

CPU正在運行一個任務,會在兩種情況下自習其他任務(切換由操作系統強制控制),一種情況是該任務發生了阻塞,另外一種情況是該任務占用時間過長或有一個優先級更高的程序代替了它

技術分享圖片

Python 37 進程池與線程池 、 協程