python 學習--執行緒池

xiaopengyaonixi發表於2016-10-22
from multiprocessing import Pool

import os,time,random

def long_time_task(name):
    print('Run task %s (%s)...' % (name,os.getpid()))
    start = time.time()
    time.sleep(random.random()*3)
    end = time.time()
    print('------------>Tank %s run %0.2f seconds.' % (name,(end-start)))


if __name__=="__main__":
    print('Parent process %s.' % os.getpid())
    p = Pool(4)
    for i in range(5):
        p.apply_async(long_time_task,args=(i,))
    print('Waiting for all subprocesses done...')
    p.close() # 讓主執行緒不再建立執行緒
    p.join()  # 等待子執行緒執行完畢
    print('All subprocesses done.')

相關文章