Python網編_進程池的回調函數

將n個任務交給n個進程去執行
每個進程在執行完畢以後會有一個返回值,這個返回值交給callback函數指定的那個函數去處理
這樣的話全部的進程哪個執行的最後快,哪個就能夠先進性統計工做
這樣就能在最短的時間內獲得咱們想要的結果
import time
import random
from multiprocessing import Pool


def get(i):  # 使用i模擬網站地址 在子進程中執行
    time.sleep(random.random())  # 模擬不一樣的網站返回數據的時間
    print(i,'從網頁上獲取一個網頁的內容')
    return i,'網頁內容'* i


def  call_back(content):  # 在主進程執行
    print(content)


if __name__ == '__main__':
    p = Pool(5)
    ret_1 = []
    for i in range(10):
        p.apply_async(get,args=(i,),callback=call_back)
    p.close()
    p.join()
回調函數通常用於爬蟲,開啓多進程去爬多個網站的內容,哪一個先返回就先處理哪一個
相關文章
相關標籤/搜索