我是新來的多處理。 我寫了一個簡單的代碼,一次只需要1個號碼並打印出來。瞭解python使用一個簡單的例子多重處理
import multiprocessing as mp
def test(num):
print num
L = [1,2,3,4,5,6,7,8]
pool = mp.Pool(2)
pool.map(test,L)
這可以使用正常方法也[test(i) for i in L]
做,但我想用多和這樣做。 但是當我運行程序時,內核顯示繁忙,但沒有打印正在發生。
我的代碼有什麼問題嗎?
你使用的是Windows打印? –
@IljaEverilä是 – Shubham
由於多處理嘗試產生嘗試從模塊中導入測試函數的新進程,這會導致一組新的進程產生並且...您需要防範實際爲了防止這種情況,使用「if __name__ ==」__main__「:...'」main「代碼。在支持分叉的系統上,例如linux,這不會發生,因爲它們只是在現場分叉並調用函數。 –