繁体   English   中英

在 Python 中同时运行两个函数

[英]Run two functions at the same time in Python

这是python中多线程的简单代码。

p1 = multiprocessing.Process(target=f1, args=('f1')) 
p2 = multiprocessing.Process(target=f2, args=('f2')) 

p1.start() 
# starting process 2 
p2.start() 

# wait until process 1 is finished 
p1.join() 
# wait until process 2 is finished 
p2.join()

但是在运行代码后,我收到以下错误:

BrokenPipeError: [Errno 32] 管道损坏

我搜索了 SO 和其他网站,常见的答案是包含以下代码段:

from signal import signal, SIGPIPE, SIG_DFL
signal(SIGPIPE, SIG_DFL)

但是当我运行它时,我收到以下错误:

导入错误:无法从“信号”导入名称“SIGPIPE”(C:\\Users\斘8\\AppData\\Local\\Continuum\\anaconda3\\lib\\signal.py)

我尝试检查所有解决方案,但没有一个解决方案! 请帮我解决这个问题!

参考这两个功能:

def f1 (string):
          print(string)

def f2 (string):
          print(string)

在您希望运行的 main.py/script 中,您必须编写

if __name__ == "__main__":

    start_process_1()

    start_process_2()


    join_process_1()

    join_process_2()

这是 Windows 平台特有的错误,如果函数调用被包装/放在if__name__ == "__main__" ,则会相应地解决。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM