1
我想在Python中編寫一個無限期運行的進程,並在後臺運行一些python代碼的進程產生完全「n」數量的進程。我不關心這些後臺進程的輸出/結果,但想知道它們何時終止,以便我總是有「n」個進程運行。任何想法如何我可以去這個或一些參考資料,可以幫助?蟒蛇後臺進程
感謝&問候, Azeem
我想在Python中編寫一個無限期運行的進程,並在後臺運行一些python代碼的進程產生完全「n」數量的進程。我不關心這些後臺進程的輸出/結果,但想知道它們何時終止,以便我總是有「n」個進程運行。任何想法如何我可以去這個或一些參考資料,可以幫助?蟒蛇後臺進程
感謝&問候, Azeem
我會用一個multiprocessing.Pool這種類型的工作。您可以創建一個具有給定數量工作進程的池,並將Python函數分配給它們運行。
from multiprocessing import Pool
import time
def f(x):
print(x)
time.sleep(1)
print("finished", x)
pool = Pool(processes=4)
for x in xrange(10):
pool.apply_async(f, [x])
pool.close()
pool.join()
返回如下:
0
1
2
3
('finished', 0)
('finished', 1)
('finished', 2)
('finished', 3)
4
5
6
7
('finished', 5)
('finished', 7)
('finished', 4)
('finished', 6)
8
9
('finished', 8)
('finished', 9)
去檢查'multiprocessing'模塊 – haifzhan