多进程Python:尝试使用教程的工作代码无效

时间:2020-05-30 16:07:44

标签: python multiprocessing

我正在观看有关多处理的教程https://www.youtube.com/watch?v=fKl2JW_qrso(在8.18分钟处显示)。我正在运行从那里复制的代码:

import multiprocessing
import time
import os

start = time.perf_counter()


def do_something():

    print("sleeping 1 sec...")
    time.sleep(1)

    print("done sleeping...")


p1 = multiprocessing.Process(target=do_something)
p2 = multiprocessing.Process(target=do_something)

p1.start()
p2.start()

finish = time.perf_counter()

print("finished in " + str(round((finish-start),2))   + " seconds(s)")

os.system("pause") 

但是当我在计算机上运行它时,会出现以下错误消息(但是在本教程中可以使用相同的代码):

已尝试在 当前过程已完成其引导阶段。这可能意味着您没有使用fork来启动您的 子进程,而您忘记使用适当的习惯用法 在主模块中: 如果名称 =='主要': Frozen_support() ... 如果程序将“ freeze_support()”这一行省略掉 不会冻结以生成可执行文件。

1 个答案:

答案 0 :(得分:0)

感谢您的所有评论。终于可以了。 因此,基本上在Windows中,它需要以稍微不同的方式编写:

ryu-manager /usr/lib/python3/dist-packages/ryu/app/simple_switch_stp_13.py --verbose