一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - python Pool常用函數用法總結

python Pool常用函數用法總結

2021-10-14 10:58小妮淺淺 Python

在本篇內容里小編給大家整理的是一篇關于python Pool常用函數用法總結內容,有需要的朋友們可以學習下。

1、說明

apply_async(func[,args[,kwds]):使用非堵塞調用func(并行執行,堵塞方式必須等待上一個過程退出才能執行下一個過程),args是傳輸給func的參數列表,kwds是傳輸給func的關鍵詞參數列表。

close():關閉Pool,使之不再接受新任務。

terminate():無論任務是否完成,都要立即終止。

join():主進程堵塞,等待子進程退出,必須在close或terminate之后使用。

2、實例

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#coding: utf-8
import multiprocessing
import time
 
 
def func(msg):
    print("msg:", msg)
    time.sleep(3)
    print("end")
 
 
if __name__ == "__main__":
    cores = multiprocessing.cpu_count()
    pool = multiprocessing.Pool(processes=cores)
    print("Adding tasks...")
    for i in range(cores):
        msg = "hello %d" %(i)
        pool.apply_async(func, (msg, ))   #維持執行的進程總數為processes,當一個進程執行完畢后會添加新的進程進去
    print("Starting tasks...")
    pool.close()
    pool.join()   #調用join之前,先調用close函數,否則會出錯。執行完close后不會有新的進程加入到pool,join函數等待所有子進程結束
    print("Sub-process(es) done.")

實例擴展:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# -*- coding:utf-8 -*-
from multiprocessing import Pool
import os, time, random
def worker(msg):
  t_start = time.time()
  print("%s開始執行,進程號為%d" % (msg,os.getpid()))
  # random.random()隨機生成0~1之間的浮點數
  time.sleep(random.random()*2)
  t_stop = time.time()
  print(msg,"執行完畢,耗時%0.2f" % (t_stop-t_start))
po = Pool(3) # 定義一個進程池,最大進程數3
for i in range(0,10):
  # Pool().apply_async(要調用的目標,(傳遞給目標的參數元祖,))
  # 每次循環將會用空閑出來的子進程去調用目標
  po.apply_async(worker,(i,))
print("----start----")
po.close() # 關閉進程池,關閉后po不再接收新的請求
po.join() # 等待po中所有子進程執行完成,必須放在close語句之后
print("-----end-----")

運行結果

----start----
0開始執行,進程號為21466
1開始執行,進程號為21468
2開始執行,進程號為21467
0 執行完畢,耗時1.01
3開始執行,進程號為21466
2 執行完畢,耗時1.24
4開始執行,進程號為21467
3 執行完畢,耗時0.56
5開始執行,進程號為21466
1 執行完畢,耗時1.68
6開始執行,進程號為21468
4 執行完畢,耗時0.67
7開始執行,進程號為21467
5 執行完畢,耗時0.83
8開始執行,進程號為21466
6 執行完畢,耗時0.75
9開始執行,進程號為21468
7 執行完畢,耗時1.03
8 執行完畢,耗時1.05
9 執行完畢,耗時1.69
-----end-----

到此這篇關于python Pool常用函數用法總結的文章就介紹到這了,更多相關python Pool常用函數有哪些內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://www.py.cn/jishu/jichu/29402.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品亚洲一区二区 | 高清视频大片免费观看 | 高h生子双性美人受 | 青草视频在线观看免费网站 | 欧美专区在线播放 | 男同巨黄gay小说好爽 | 免费人成网址在线观看国内 | 日本道色综合久久影院 | 日韩影院在线 | 高肉h护士办公室play | 日本啊v在线观看 | 国产成人精品福利色多多 | 免费港剧在线观看港剧 | 亚洲国产区中文在线观看 | 国产精品香蕉 | 草草剧场 | 欧美一级高清片 | 把内裤拔到一边高h1v1 | 亚洲高清在线视频 | 久久精品中文闷骚内射 | 国产一二区视频 | 亚洲AV久久久噜噜噜久久 | 99热这里只有精品免费 | 99国产精品久久久久久久... | 欧美成人另类人妖 | aaa级大片| 午夜伦伦电影理论片费看 | 韩剧网3600热播剧 | 羞羞漫画免费漫画页面在线看漫画秋蝉 | 久久学生精品国产自在拍 | 欧亚专线欧洲m码可遇不可求 | 欧美综合亚洲图片综合区 | 日本另类z0zx高清 | 亚洲免费色图 | 亚久久伊人精品青青草原2020 | 亚洲精品免费观看 | 男人和女人上床 | 国产精品亚洲综合第一区 | 手机在线观看伦理片 | 亚洲欧美在线观看首页 | 午夜影院0606免费 |