gpt4 book ai didi

python - 使用 Python 生成多个进程

转载 作者:行者123 更新时间:2023-11-30 22:27:53 26 4
gpt4 key购买 nike

之前我尝试使用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

最佳答案

Process 类需要一个可调用对象作为其目标。

您不是在单独的进程中运行该函数,而是调用它并将其结果(在本例中为None)传递给Process 类。

只需更改以下内容:

mp.Process(target=pri())

与:

mp.Process(target=pri)

关于python - 使用 Python 生成多个进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46755640/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com