zoukankan      html  css  js  c++  java
  • windows下创建子进程过程中代码重复执行问题

    windows在启动子进程的时候会将主进程文件倒入到子进程中。导入模块就相当于执行这个模块中的代码,

    所以第一个print会在主进程中执行一次,又在被导入的过程中在子进程中又执行了一次。

    p.start()过程中会调用一次当前模块

    注意:在windows中Process()必须放到# if __name__ == '__main__':下

    Since Windows has no fork, the multiprocessing module starts a new Python process and imports the calling module.
    If Process() gets called upon import, then this sets off an infinite succession of new processes (or until your machine runs out of resources).
    This is the reason for hiding calls to Process() inside

    if __name__ == "__main__"
    since statements inside this if-statement will not get called upon import.
    由于Windows没有fork,多处理模块启动一个新的Python进程并导入调用模块。
    如果在导入时调用Process(),那么这将启动无限继承的新进程(或直到机器耗尽资源)。
    这是隐藏对Process()内部调用的原,使用if __name__ == “__main __”,这个if语句中的语句将不会在导入时被调用。


    复制代码
    Since Windows has no fork, the multiprocessing module starts a new Python process and imports the calling module. 
    If Process() gets called upon import, then this sets off an infinite succession of new processes (or until your machine runs out of resources). 
    This is the reason for hiding calls to Process() inside
    
    if __name__ == "__main__"
    since statements inside this if-statement will not get called upon import.
    由于Windows没有fork,多处理模块启动一个新的Python进程并导入调用模块。 
    如果在导入时调用Process(),那么这将启动无限继承的新进程(或直到机器耗尽资源)。 
    这是隐藏对Process()内部调用的原,使用if __name__ == “__main __”,这个if语句中的语句将不会在导入时被调用。
  • 相关阅读:
    将01字符串转换成数字的办法
    Codeforces Round #180 (Div. 2) AB
    CPU制作过程『转』
    向VECTOR的头部添加元素
    母版页中js操作问题
    操作粘贴板
    XML和关系数据使用XML和数据集类
    XML和关系数据用XML加载数据集
    XPath和XSL转换向XML应用XSL转换
    XML和关系数据从XSD架构创建数据集映射
  • 原文地址:https://www.cnblogs.com/ellisonzhang/p/10440310.html
Copyright © 2011-2022 走看看