早些時候,我嘗試在python中使用線程模塊來創建多個線程。然後我瞭解了GIL以及它如何不允許在一臺機器上利用多個CPU內核。所以現在我試圖做多處理(我不嚴格需要單獨的線程)。使用Python產生多個進程
這是我寫的示例代碼,以查看是否正在創建不同的進程。但是從下面的輸出中可以看出,我每次都得到相同的進程ID。所以多個進程沒有被創建。我錯過了什麼?
import multiprocessing as mp
import os
def pri():
print(os.getpid())
if __name__=='__main__':
# Checking number of CPU cores
print(mp.cpu_count())
processes=[mp.Process(target=pri()) for x in range(1,4)]
for p in processes:
p.start()
for p in processes:
p.join()
輸出:
4
12554
12554
12554
刪除第在'target = pri()'上輸入e'()' –