multiprocessing.freeze_support()

Voo*_*Voo 25 python py2exe pyinstaller multiprocessing cx-freeze

为什么多处理模块需要在"冻结"以生成Windows可执行文件时调用特定函数才能工作?

Pio*_*ost 26

原因是fork()Windows上缺乏(这完全正确).因此,在Windows上,fork是通过创建一个进程来模拟的,在该进程中正在运行在子进程中运行Linux的代码.由于代码要在技术上不相关的过程中运行,因此必须在运行之前将其交付.它的交付方式首先是被腌制,然后通过管道从原始流程发送到新流程.此外,这个新进程被告知它必须运行管道传递的代码,方法是将命令行参数传递给它.如果你看看函数的实现,它的任务是检查它运行的进程是否应该运行管道传递的代码.--multiprocessing-forkfreeze_support()