导入了主要模块(但
__name__ !='__main__'因为Windows试图在没有分支的系统上模拟类似分支的行为,所以引入了主模块)。
multiprocessing没有办法知道您在主模块中没有做任何重要的事情,因此导入是“以防万一”的做法,以创建一个与主流程相似的环境。如果未执行此操作,则可能无法在子进程中正确执行main中由副作用引起的各种事情(例如,导入,具有持久性副作用的配置调用等)。
因此,如果他们没有保护自己
__main__的代码,那么代码就不是多处理安全的(也不是单元测试安全的,导入安全的等等)。该
if __name__ =='__main__':保护包装应该是正确的主要模块的一部分。继续进行分发,并附带有关要求多处理安全的主模块保护的注意事项。



