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

python Pool常用函數(shù)用法總結(jié)

 更新時(shí)間:2021年04月19日 08:38:58   作者:小妮淺淺  
在本篇內(nèi)容里小編給大家整理的是一篇關(guān)于python Pool常用函數(shù)用法總結(jié)內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。

1、說(shuō)明

apply_async(func[,args[,kwds]):使用非堵塞調(diào)用func(并行執(zhí)行,堵塞方式必須等待上一個(gè)過(guò)程退出才能執(zhí)行下一個(gè)過(guò)程),args是傳輸給func的參數(shù)列表,kwds是傳輸給func的關(guān)鍵詞參數(shù)列表。

close():關(guān)閉Pool,使之不再接受新任務(wù)。

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

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

2、實(shí)例

#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, ))   #維持執(zhí)行的進(jìn)程總數(shù)為processes,當(dāng)一個(gè)進(jìn)程執(zhí)行完畢后會(huì)添加新的進(jìn)程進(jìn)去
    print("Starting tasks...")
    pool.close()
    pool.join()   #調(diào)用join之前,先調(diào)用close函數(shù),否則會(huì)出錯(cuò)。執(zhí)行完close后不會(huì)有新的進(jìn)程加入到pool,join函數(shù)等待所有子進(jìn)程結(jié)束
    print("Sub-process(es) done.")

實(shí)例擴(kuò)展:

# -*- coding:utf-8 -*-
from multiprocessing import Pool
import os, time, random
def worker(msg):
  t_start = time.time()
  print("%s開(kāi)始執(zhí)行,進(jìn)程號(hào)為%d" % (msg,os.getpid()))
  # random.random()隨機(jī)生成0~1之間的浮點(diǎn)數(shù)
  time.sleep(random.random()*2) 
  t_stop = time.time()
  print(msg,"執(zhí)行完畢,耗時(shí)%0.2f" % (t_stop-t_start))
po = Pool(3) # 定義一個(gè)進(jìn)程池,最大進(jìn)程數(shù)3
for i in range(0,10):
  # Pool().apply_async(要調(diào)用的目標(biāo),(傳遞給目標(biāo)的參數(shù)元祖,))
  # 每次循環(huán)將會(huì)用空閑出來(lái)的子進(jìn)程去調(diào)用目標(biāo)
  po.apply_async(worker,(i,))
print("----start----")
po.close() # 關(guān)閉進(jìn)程池,關(guān)閉后po不再接收新的請(qǐng)求
po.join() # 等待po中所有子進(jìn)程執(zhí)行完成,必須放在close語(yǔ)句之后
print("-----end-----")

運(yùn)行結(jié)果

----start----
0開(kāi)始執(zhí)行,進(jìn)程號(hào)為21466
1開(kāi)始執(zhí)行,進(jìn)程號(hào)為21468
2開(kāi)始執(zhí)行,進(jìn)程號(hào)為21467
0 執(zhí)行完畢,耗時(shí)1.01
3開(kāi)始執(zhí)行,進(jìn)程號(hào)為21466
2 執(zhí)行完畢,耗時(shí)1.24
4開(kāi)始執(zhí)行,進(jìn)程號(hào)為21467
3 執(zhí)行完畢,耗時(shí)0.56
5開(kāi)始執(zhí)行,進(jìn)程號(hào)為21466
1 執(zhí)行完畢,耗時(shí)1.68
6開(kāi)始執(zhí)行,進(jìn)程號(hào)為21468
4 執(zhí)行完畢,耗時(shí)0.67
7開(kāi)始執(zhí)行,進(jìn)程號(hào)為21467
5 執(zhí)行完畢,耗時(shí)0.83
8開(kāi)始執(zhí)行,進(jìn)程號(hào)為21466
6 執(zhí)行完畢,耗時(shí)0.75
9開(kāi)始執(zhí)行,進(jìn)程號(hào)為21468
7 執(zhí)行完畢,耗時(shí)1.03
8 執(zhí)行完畢,耗時(shí)1.05
9 執(zhí)行完畢,耗時(shí)1.69
-----end-----

到此這篇關(guān)于python Pool常用函數(shù)用法總結(jié)的文章就介紹到這了,更多相關(guān)python Pool常用函數(shù)有哪些內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python學(xué)習(xí)筆記之os模塊使用總結(jié)

    Python學(xué)習(xí)筆記之os模塊使用總結(jié)

    這篇文章主要介紹了Python學(xué)習(xí)筆記之os模塊使用總結(jié),本文總結(jié)了多個(gè)常用方法,需要的朋友可以參考下
    2014-11-11
  • 對(duì)pandas處理json數(shù)據(jù)的方法詳解

    對(duì)pandas處理json數(shù)據(jù)的方法詳解

    今天小編就為大家分享一篇對(duì)pandas處理json數(shù)據(jù)的方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02
  • 關(guān)于Python中兩個(gè)不同shape的數(shù)組間運(yùn)算規(guī)則

    關(guān)于Python中兩個(gè)不同shape的數(shù)組間運(yùn)算規(guī)則

    這篇文章主要介紹了關(guān)于Python中兩個(gè)不同shape的數(shù)組間運(yùn)算規(guī)則,眾所周知,相同?shape?的兩個(gè)數(shù)組間運(yùn)算是指兩個(gè)數(shù)組的對(duì)應(yīng)元素相加,我們經(jīng)常會(huì)碰到一些不同?shape?的數(shù)組間運(yùn)算,需要的朋友可以參考下
    2023-08-08
  • 一文詳解python如何將編寫的模塊打包上傳至pypi

    一文詳解python如何將編寫的模塊打包上傳至pypi

    我們此前花了很大功夫?qū)懥艘粋€(gè)極其簡(jiǎn)單的web框架myWeb,想要給別人用的時(shí)候,需要讓別人拷貝源代碼才行,這太low了,所以本篇文章會(huì)介紹如何將自己寫的模塊打包上傳至pypi,以便讓需要的人通過(guò)pip進(jìn)行安裝,感興趣的同學(xué)可以參考閱讀
    2023-05-05
  • Biblibili視頻投稿接口分析并以Python實(shí)現(xiàn)自動(dòng)投稿功能

    Biblibili視頻投稿接口分析并以Python實(shí)現(xiàn)自動(dòng)投稿功能

    這篇文章主要介紹了Biblibili視頻投稿接口分析并以Python實(shí)現(xiàn)自動(dòng)投稿功能,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • 詳解Python 3.10 中的新功能和變化

    詳解Python 3.10 中的新功能和變化

    這篇文章主要介紹了詳解Python 3.10 中的新功能和變化,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-04-04
  • Python itertools庫(kù)中product函數(shù)使用實(shí)例探究

    Python itertools庫(kù)中product函數(shù)使用實(shí)例探究

    這篇文章主要為大家介紹了Python itertools庫(kù)中product函數(shù)使用實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • 基python實(shí)現(xiàn)多線程網(wǎng)頁(yè)爬蟲(chóng)

    基python實(shí)現(xiàn)多線程網(wǎng)頁(yè)爬蟲(chóng)

    python是支持多線程的, 主要是通過(guò)thread和threading這兩個(gè)模塊來(lái)實(shí)現(xiàn)的,本文主要給大家分享python實(shí)現(xiàn)多線程網(wǎng)頁(yè)爬蟲(chóng),需要的朋友可以參考下
    2015-09-09
  • set在python里的含義和用法

    set在python里的含義和用法

    在本篇內(nèi)容中我們給大家整理了關(guān)于set在python里的用法含義等相關(guān)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2019-06-06
  • Django框架HttpResponse對(duì)象用法實(shí)例分析

    Django框架HttpResponse對(duì)象用法實(shí)例分析

    這篇文章主要介紹了Django框架HttpResponse對(duì)象用法,結(jié)合實(shí)例形式分析了Django框架HttpResponse對(duì)象基本原理、功能及響應(yīng)請(qǐng)求的相關(guān)操作技巧,需要的朋友可以參考下
    2019-11-11

最新評(píng)論