Python 多进程pool.map()方法的使用
生活随笔
收集整理的這篇文章主要介紹了
Python 多进程pool.map()方法的使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在python中,只有多進程才可以充分利用CPU的資源,適合CPU計算型任務,其他的就不多說了。這里介紹一個 pool.map()方法,很實用!
pool.map()
先直接上代碼:
import time from multiprocessing.pool import Pooldef numsCheng(i):return i * 2if __name__ == '__main__':time1 = time.time()nums_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]pool = Pool(processes=5)result = pool.map(numsCheng, nums_list)pool.close() # 關閉進程池,不再接受新的進程pool.join() # 主進程阻塞等待子進程的退出print(result)time2 = time.time()print("計算用時:", time2-time1)運行結果:
[2, 4, 6, 8, 10, 12, 14, 16, 18] 計算用時: 0.21639275550842285解釋說明:
1.看到Pool有一個processes參數,這個參數可以不設置,如果不設置函數會跟根據計算機的實際情況來決定要運行多少個進程,我們也可自己設置,但是要考慮自己計算機的性能。
2.map()函數。需要傳遞兩個參數,第一個參數就是需要引用的函數,第二個參數是一個可迭代對象,它會把需要迭代的元素一個個的傳入第一個參數我們的函數中。因為我們的map會自動將數據作為參數傳進去
3.pool()開啟了,不要忘記pool.close() 和 pool.join() 關閉進程池,以及讓主進程阻塞等待子進程的退出。
總結
以上是生活随笔為你收集整理的Python 多进程pool.map()方法的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python获取cookies
- 下一篇: Linux中的文件搜索 locate,f