运行 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] Broken pipe
我搜索了 SO 和其他网站,常见的答案是包含以下代码段:
from signal import signal, SIGPIPE, SIG_DFL
signal(SIGPIPE, SIG_DFL)
但是当我 运行 这样做时,出现以下错误:
ImportError: cannot import name 'SIGPIPE' from 'signal' (C:\Users\u65988\AppData\Local\Continuum\anaconda3\lib\signal.py)
我尝试检查所有解决方案,但其中 none 个解决方案有效!请帮我解决这个问题!
参考两个函数:
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 平台的错误,如果函数调用是 wrapped/put 在 if__name__ == "__main__"
.
中,则会相应解决
这是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] Broken pipe
我搜索了 SO 和其他网站,常见的答案是包含以下代码段:
from signal import signal, SIGPIPE, SIG_DFL
signal(SIGPIPE, SIG_DFL)
但是当我 运行 这样做时,出现以下错误:
ImportError: cannot import name 'SIGPIPE' from 'signal' (C:\Users\u65988\AppData\Local\Continuum\anaconda3\lib\signal.py)
我尝试检查所有解决方案,但其中 none 个解决方案有效!请帮我解决这个问题!
参考两个函数:
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 平台的错误,如果函数调用是 wrapped/put 在 if__name__ == "__main__"
.