我一直在嘗試運行一個非常簡單的多處理程式(下面的腳本)。但是,我得到的輸出很簡單:"Finished". 行程或函式都不會產生任何輸出。我如何確保它們確實運行并且我得到的輸出看起來像"Function 1" "Function 2" "Finished"?
抱歉,如果這是一個重復的問題,任何幫助將不勝感激。
import multiprocessing
def func(n):
print('Function',n)
p1 = multiprocessing.Process(target=func, args=(1, ))
p2 = multiprocessing.Process(target=func, args=(2, ))
p1.start()
p2.start()
p1.join()
p2.join()
print("Finished")
電腦資訊:Python 3.8.8版,macOS 12.0.1,Apple M1芯片
uj5u.com熱心網友回復:
嘗試添加__name__ == '__main__'到您的代碼中,以確保新的 Python 解釋器可以安全地匯入主模塊,而不會導致意外的副作用。
def func(n):
print('Function',n)
if __name__ == '__main__':
p1 = multiprocessing.Process(target=func, args=(1, ))
p2 = multiprocessing.Process(target=func, args=(2, ))
p1.start()
p2.start()
p1.join()
p2.join()
print("Finished")
來源:Python 檔案
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/371843.html
