欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python線程池模塊ThreadPoolExecutor用法分析

 更新時間:2018年12月28日 10:35:11   作者:njulpy  
這篇文章主要介紹了Python線程池模塊ThreadPoolExecutor用法,結(jié)合實例形式分析了Python線程池模塊ThreadPoolExecutor的導入與基本使用方法,需要的朋友可以參考下

本文實例講述了Python線程池模塊ThreadPoolExecutor用法。分享給大家供大家參考,具體如下:

python3內(nèi)置的有Threadingpool和ThreadPoolExecutor模塊,兩個都可以做線程池,當然ThreadPoolExecutor會更好用一些,而且也有ProcessPoolExecutor進程池模塊,使用方法基本一致。

首先導入模塊

from concurrent.futures import ThreadPoolExecutor

使用方法很簡單,最常用的可能就是map方法和submit+as_completed

注意,一定要使用with,而不要使用for,如果你一定要用for,那么一定要手動進行executor.shutdown,而你使用了with方法的話,再with方法內(nèi)部已經(jīng)實現(xiàn)了wait(),在使用完畢之后可以自行關(guān)閉線程池,減少資源浪費。

使用map

with ThreadPoolExecutor(max_workers=2) as executor:
  result = executor.map(map_fun, itr_arg)
  '''map_fun:你傳入的要執(zhí)行的map函數(shù)
    itr_arg:一個可迭代的參數(shù),可以是列表字典等可迭代的對象
    基本上和python的map函數(shù)一樣
    注意result并不是你map_fun返回的結(jié)果,而是一個生成器,如果要從中去結(jié)果,你可以使用列表生成式或者其他你想使用的方法
  '''
  for res in result:
    print(res) #這個res就是你map_fun返回的結(jié)果,你可以在這里做進一步處理

使用submit+as_completed也可以很靈活

with ThreadPoolExecutor(max_workers=2) as executor:
  future= executor.submit(fun, args)
  '''
  在這里你可以使用for循環(huán)來做,返回的是一個future對象
  future_list=[]
  for i in range(max_workers):
    future= executor.submit(fun, args[i])
    future_list.append(future)
  '''
  for res in ac_completed(futrue_list): #這個futrure_list是你future對象的列表
    print(res.result())        #循環(huán)遍歷時用.result()來取返回值

兩種方式差不多,都可以很好的實現(xiàn)多線程任務(wù),切記一定使用with!

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python進程與線程操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》、《Python+MySQL數(shù)據(jù)庫程序設(shè)計入門教程》及《Python常見數(shù)據(jù)庫操作技巧匯總

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • 詳解Python調(diào)試神器之PySnooper

    詳解Python調(diào)試神器之PySnooper

    在程序開發(fā)過程中,代碼的運行往往會和我們預期的結(jié)果有所差別。于是,我們需要清楚代碼運行過程中到底發(fā)生了什么?代碼哪些模塊運行了,哪些模塊沒有運行?輸出的局部變量是什么樣的?PySnooper,能夠大大減少調(diào)試過程中的工作量
    2021-11-11
  • python中pandas.read_csv()函數(shù)的深入講解

    python中pandas.read_csv()函數(shù)的深入講解

    這篇文章主要給大家介紹了關(guān)于python中pandas.read_csv()函數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • Python SQLAlchemy基本操作和常用技巧(包含大量實例,非常好)

    Python SQLAlchemy基本操作和常用技巧(包含大量實例,非常好)

    這篇文章主要介紹了Python的ORM框架SQLAlchemy基本操作和常用技巧,包含大量實例,非常好的一個學習SQLAlchemy的教程,需要的朋友可以參考下
    2014-05-05
  • Python中True(真)和False(假)判斷詳解

    Python中True(真)和False(假)判斷詳解

    眾所周知True和False是一個布爾變量可取的值,下面這篇文章主要給大家介紹了關(guān)于Python中True(真)和False(假)判斷的相關(guān)資料,本文通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • python做翻譯軟件詳解,小白也看得明白

    python做翻譯軟件詳解,小白也看得明白

    這篇文章主要介紹了怎么樣用python做的翻譯軟件,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • python通過cython加密代碼

    python通過cython加密代碼

    這篇文章主要介紹了python通過cython實現(xiàn)加密的示例代碼,幫助大家加密自己的python代碼,提高安全性,感興趣的朋友可以參考下
    2020-12-12
  • Python+Tableau廣東省人口普查可視化的實現(xiàn)

    Python+Tableau廣東省人口普查可視化的實現(xiàn)

    本文將結(jié)合實例代碼,介紹Python+Tableau廣東省人口普查可視化,第七次人口普查數(shù)據(jù)分析,繪制歷次人口普查人口數(shù)量變化圖,需要的朋友們下面隨著小編來一起學習學習吧
    2021-06-06
  • python畫一個玫瑰和一個愛心

    python畫一個玫瑰和一個愛心

    這篇文章主要教大家用python畫一個玫瑰和一個愛心,作為女生節(jié)禮物,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Django如何實現(xiàn)上傳圖片功能

    Django如何實現(xiàn)上傳圖片功能

    這篇文章主要介紹了Django如何實現(xiàn)上傳圖片功能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • python讀取大型csv文件的操作方法(降低內(nèi)存占用)

    python讀取大型csv文件的操作方法(降低內(nèi)存占用)

    遇到大型的csv文件時,pandas會把該文件全部加載進內(nèi)存,從而導致程序運行速度變慢,本文提供了批量讀取csv文件、讀取屬性列的方法,減輕內(nèi)存占用情況,文中有詳細的代碼示例,需要的朋友可以參考下
    2024-03-03

最新評論