天天看點

Python之Pool

#!/usr/bin/env python

from multiprocessing import Pool

import time

def sayHi(a):

        time.sleep(5)

        return a**a

if __name__ =="__main__":

        p=Pool(processes=5)

        result=p.apply_async(sayHi,[10])

        print result.get()

一個池子啟用5個線程池,且異步一次傳回結果

可以用for循環使用多次異步:

p=Pool(processes=5)

result_list=[]

for i in range(100):

        result_list.append(p.apply_async(sayHi,[i]))

for j in result_list:

        print j.get()

本文轉自 DBAspace 51CTO部落格,原文連結:http://blog.51cto.com/dbaspace/1871622