進程池的用法

apply()

函數原型:css

apply(func[, args=()[, kwds={}]])

該函數用於傳遞不定參數,主進程會被阻塞直到函數執行結束(不建議使用,而且3.x之後不在出現)。app

apply_async()

函數原型:async

apply_async(func[, args=()[, kwds={}[, callback=None]]])

與apply用法同樣,但它是非阻塞且支持結果返回進行回調。函數

map()

函數原型:ui

map(func, iterable[, chunksize=None])

Pool類中的map方法,與內置的map函數用法行爲基本一致,它會使進程阻塞直到返回結果。 
注意,雖然第二個參數是一個迭代器,但在實際使用中,必須在整個隊列都就緒後,程序纔會運行子進程。spa

具體用法

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的用法一致
相關文章
相關標籤/搜索