將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()
回調函數通常用於爬蟲,開啓多進程去爬多個網站的內容,哪一個先返回就先處理哪一個