我之前尝试使用Python中的threading模块创建多个线程。然后我了解到GIL,它不允许在单台计算机上利用多个CPU核心。因此现在我正在尝试进行多进程处理(我并不一定需要单独的线程)。
这里是我编写的一个示例代码,以查看是否正在创建不同的进程。但是如下输出所示,我每次都得到相同的进程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()
中的括号。 - uspectaculum