apply()
函數原型:
apply(func[, args=()[, kwds={}]])
該函數用于傳遞不定參數,主進程會被阻塞直到函數執行結束(不建議使用,并且3.x以后不在出現)。
apply_async()
函數原型:
apply_async(func[, args=()[, kwds={}[, callback=None]]])
與apply用法一樣,但它是非阻塞且支持結果返回進行回調。
map()
函數原型:
map(func, iterable[, chunksize=None])
Pool類中的map方法,與內置的map函數用法行為基本一致,它會使進程阻塞直到返回結果。?
注意,雖然第二個參數是一個迭代器,但在實際使用中,必須在整個隊列都就緒后,程序才會運行子進程。
具體用法
def run(i):
print(i)
1.apply_async的用法
pool = Pool()
for i in range(8):
pool.apply_async(run, (i, ))
pool.close()
pool.join()
2.map函數的用法
pool.map(run, [1,2,3,4,5,6])
pool.close()
pool.join()
3.apply的用法
同apply_async的用法一致