python多进程

今天学习了多进程,所以来给大家分享一下经验。

首先在Python上面创建多进程,第一步就是导入一个python里面内置的一个包。

说一下,python里面有很多非常好用的包。multiprocessing就是一个包,借助这个包,可以轻松完成从单进程到并发执行的转换。这个包是一开始学习的,会经常用到。而且这个包还是跨平台的。

multiprocessing模块提供了一个Process类来代表一个进程对象

下面分享一个例子:

from multiprocessing import Process
import os

# 子进程要执行的代码
def run_proc(name):
    print('Run child process %s (%s)...' % (name, os.getpid()))

if __name__=='__main__':
    print('Parent process %s.' % os.getpid())
    p = Process(target=run_proc, args=('test',))
    print('Child process will start.')
    p.start()
    p.join()
    print('Child process end.')

然后说一下多进程里面我觉得比较重要的一个语法:就是这个if __name__==”__main__

它的作用就是就是控制着两种情况执行代码的过程,_name_是内置变量,用于表示当前模块的名字。 在win上,子进程会自动 import 启动它的这个文件,而在import的时候会执行这些语句。 如果不加if_name_==”_main_”的话就会无限递归创建子进程

所以必须把创建子进程的部分用if判断保护起来

import 的时候 _name_不是_main_,就不会递归运行

所以我觉得这个语法比较重要,多进程刚开始学习会有蒙,只要继续学习下去,思路就会慢慢清晰。

接下来说一下这个函数porcess:

Process(target,name,args) Process是构造函数

参数介绍

— target表示调用对象,即子进程要执行的任务

–args表示调用对象的位置参数元组,args=(1,)

–name为子进程取名

多进程里面的函数很多,今天就分享到这里。

    原文作者:承诺
    原文地址: https://zhuanlan.zhihu.com/p/61797419
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞