我想了解Python多處理模塊。下面的代碼創建4個進程並嘗試運行功能f(x)
。Python多處理得到結果
問題
- 我創建4個過程,但提交多個任務(F,[10])。模塊會在任何時候自動運行每4個進程嗎?
- 我將結果捕獲到列表中。
pool.apply_async
將會返回什麼結果,它會是作業中的打印語句還是方法返回的內容?
當我執行此代碼時,它只顯示100,但不顯示其他值。
from multiprocessing import Pool
def f(x):
print x*x
return x*x
if __name__ == '__main__':
result = []
pool = Pool(processes=4)
result.append(pool.apply_async(f, [10]))
out = map(lambda x: x.get(), result)
所有的問題都在文檔中得到解答:https://docs.python.org/2/library/multiprocessing.html – Wolph 2014-10-31 15:24:56