您好,登錄后才能下訂單哦!
本篇內容介紹了“python中ThreadPoolExecutor的使用方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
說明
1、ThreadPoolExecutor構造實例時,輸入max_workers參數(shù),設定線程池中最多可同時運行的線程數(shù)。
2、使用submit函數(shù)將需要執(zhí)行的任務(函數(shù)名和參數(shù))提交到線程池中,然后返回任務的句柄(類似于文件和繪圖)。注意,submit不是堵塞的,而是立即返回。
實例
# !usr/bin/env python # -*- coding:utf-8 _*- from concurrent.futures import ThreadPoolExecutor import time # 參數(shù)times用來模擬下載的時間 def down_video(times): time.sleep(times) print("down video {}s finished".format(times)) return times executor = ThreadPoolExecutor(max_workers=2) # 通過submit函數(shù)提交執(zhí)行的函數(shù)到線程池中,submit函數(shù)立即返回,不阻塞 task1 = executor.submit(down_video, (3)) task2 = executor.submit(down_video, (2)) # done方法用于判定某個任務是否完成 print("任務1是否已經(jīng)完成:",task1.done()) # cancel方法用于取消某個任務,該任務沒有放入線程池中才能取消成功 print("取消任務2:",task2.cancel()) time.sleep(4) print("任務1是否已經(jīng)完成:",task1.done()) # result方法可以獲取task的執(zhí)行結果 print(task1.result())
“python中ThreadPoolExecutor的使用方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網(wǎng)站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。