天天看點

程序池與清單循環多參傳遞

版權聲明:本文可能為部落客原創文章,若标明出處可随便轉載。 https://blog.csdn.net/Jailman/article/details/77573585

使用清單循環的示例
#coding: utf-8
import multiprocessing
import time

def func(msg, msg2):
    print "msg:", msg
    time.sleep(3)
    print "end"
    print msg2

list = ["test", "hello", "hi", "good", "yes", "well"]


if __name__ == "__main__":
    pool = multiprocessing.Pool(processes = 3)
    for i in list:
        msg = "hello"
        pool.apply_async(func, (msg, i))   #維持執行的程序總數為processes,當一個程序執行完畢後會添加新的程序進去

    print "Mark~ Mark~ Mark~~~~~~~~~~~~~~~~~~~~~~"
    pool.close()
    pool.join()   #調用join之前,先調用close函數,否則會出錯。執行完close後不會有新的程序加入到pool,join函數等待所有子程序結束
    print "Sub-process(es) done."           

繼續閱讀