关于Linux、Mac下和Windows下,python的multiprocessing差异

报错:

 RuntimeError:
        An attempt has been made to start a new process before the
        current process has finished its bootstrapping phase.

        This probably means that you are not using fork to start your
        child processes and you have forgotten to use the proper idiom
        in the main module:

            if __name__ == '__main__':
                freeze_support()
                ...

        The "freeze_support()" line can be omitted if the program
        is not going to be frozen to produce an executable.
    ForkingPickler(file, protocol).dump(obj)
BrokenPipeError: [Errno 32] Broken pipe

在Linux和Mac下,python的multiprocessing可以直接使用,但是在Windows下,需要设置一下函数入口:
在代码块前加

if __name__=='__main__':
    '''
    这里是原先多线程代码块
    '''

详情可以参见python的官方文档:
https://docs.python.org/3.5/library/multiprocessing.html?highlight=multiprocessing#module-multiprocessing

发布了55 篇原创文章 · 获赞 238 · 访问量 21万+

猜你喜欢

转载自blog.csdn.net/zkp_987/article/details/81129195
今日推荐