python 進程池的簡單使用方法


回到python,用一下python的進程池。

記得之前面試的時候,面試官問:你知道進程池的默認參數嗎? 我沒有回答上來,后來才知道,是有默認參數的。下面就看看它的默認參數

1. 不加參數

from multiprocessing.pool import Pool
from time import sleep


def fun(a):
    sleep(5)
    print(a)

if __name__ == '__main__':
    p = Pool()      # 這里不加參數,但是進程池的默認大小,等於電腦CPU的核數
                    # 也是創建子進程的個數,也是每次打印的數字的個數
    for i in range(10):
        p.apply_async(fun, args= (i, ))
    p.close()
    p.join()        # 等待所有子進程結束,再往后執行
    print("end")

2. 加參數5

from multiprocessing.pool import Pool
from time import sleep


def fun(a):
    sleep(5)
    print(a)

if __name__ == '__main__':
    p = Pool(5)     # 最多執行5個進程,打印5個數
    for i in range(10):
        p.apply_async(fun, args= (i, ))
    p.close()
    p.join()        # 等待所有子進程結束,再往后執行
    print("end")

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM