python中ThreadPoolExecutor如何使用

duanhao發表於2021-09-11

python中ThreadPoolExecutor如何使用

說明

1、ThreadPoolExecutor構造例項時,輸入max_workers引數,設定執行緒池中最多可同時執行的執行緒數。

2、使用submit函式將需要執行的任務(函式名和引數)提交到執行緒池中,然後返回任務的控制程式碼.

類似於檔案和繪圖,注意,submit不是堵塞的,而是立即返回。

例項

# !usr/bin/env python
# -*- coding:utf-8 _*-
from concurrent.futures import ThreadPoolExecutor
import time
 
# 引數times用來模擬下載的時間
def down_video(times):
    time.sleep(times)
    print("down video {}s finished".format(times))
    return times
 
executor = ThreadPoolExecutor(max_workers=2)
# 透過submit函式提交執行的函式到執行緒池中,submit函式立即返回,不阻塞
task1 = executor.submit(down_video, (3))
task2 = executor.submit(down_video, (2))
# done方法用於判定某個任務是否完成
print("任務1是否已經完成:",task1.done())
# cancel方法用於取消某個任務,該任務沒有放入執行緒池中才能取消成功
print("取消任務2:",task2.cancel())
time.sleep(4)
print("任務1是否已經完成:",task1.done())
# result方法可以獲取task的執行結果
print(task1.result())

以上就是python中ThreadPoolExecutor的使用,希望對大家有所幫助。更多Python學習指路:

本文教程操作環境:windows7系統、Python 3.9.1,DELL G3電腦。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1343/viewspace-2829065/,如需轉載,請註明出處,否則將追究法律責任。

相關文章