Concurrent函式庫
Python標準函式庫的一部分,主旨是透過抽象化/簡化 multithreading 或 multiprocessing 讓一項任務由sequential轉為concurrent執行。
concurrent.future
future顧名思義代表未完成的結果,像一張訂單或是掛號,表示「這個任務已經開始執行了,這是它的結果將來會存放的地方,可以隨時來查詢它的狀態或最終的結果。」
- Executer : concurrent.future函式庫提供兩種主要的執行器: ThreadPoolExecutor 和 ProcessPoolExecutor 分別透過多執行緒(threads)和多行程(processes)來實現concurrent
- ThreadPoolExecutor : 適合處理 I/O 密集型任務,例如網路請求、檔案讀寫
- ProcessPoolExecutor : 適合處理 CPU 密集型任務,例如複雜的數學運算、數據處理
一言以蔽之的話多執行緒適合用於「等待」而多行程適合用於「運算」的任務。