2024-04-19 19:40:24 发布
网友
在Windows平台上,这两行代码导致Python代码执行以无限循环运行,每个循环从脚本的开头开始:
import multiprocessing as mp manager=mp.Manager()
它在Mac上运行良好。原因是什么?它成功导入import multiprocessing as mp。但是在manager=mp.Manager()上,它会中断(没有错误)并跳回代码的第一行。你知道吗
import multiprocessing as mp
manager=mp.Manager()
在Windows上,必须用if __name__ == "__main__":保护对multiprocessing的调用。请参阅here以获取有关为什么需要这样做的详细信息。这应该很管用:
if __name__ == "__main__":
multiprocessing
import multiprocessing as mp if __name__ == "__main__": manager=mp.Manager()
编辑:
请注意,将multiprocessing代码放在从if块调用的函数中也可以。像这样:
if
import multiprocessing as mp def func(x): print("Got %s" % (x,)) def main(): p = multiprocessing.Pool() results = p.map(func, range(0,5)) if __name__ == "__main__": manager = mp.Manager() main()
在Windows上,必须用
if __name__ == "__main__":
保护对multiprocessing
的调用。请参阅here以获取有关为什么需要这样做的详细信息。这应该很管用:编辑:
请注意,将
multiprocessing
代码放在从if
块调用的函数中也可以。像这样:相关问题 更多 >
编程相关推荐