• python并发编程


    python 并发编程

        1.python 并发编程--进程

        什么是进程?

        顾名思义,进程即正在执行的一个过程。进程是对正在运行程序的一个抽象。

        进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一。操作系统的其他所有内容都是围绕进程的概念展开的

        进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。我们自己在python文件中写了一些代码,这叫做程序,运行这个python文件的时候,这叫做进程。

                  通俗来讲:进程是正在运行的程序

        好了,以上都是一些理论,概念的一些知识点,再次就不多做赘述,直接进入主题吧

        给大家写个简单的例子吧!  

    先导入进程模块 multiprocessing 中的Process
    from multiprocessing import Process
    进程的两种创建方式
    第一种
    def f1():
    print("胡辣汤")
    def f2():
    print("大盘鸡")
    以上两个函数是进程中的子进程,进程总共分子进程跟主进程. 下面这段代码就是主进程
    if __name__ == '__main__': 有人肯定不懂为什么写这一行,写这一行的意思是windows系统下必须写main,
    因为windows系统创建子进程的方式决定的,开启一个子进程,这个子进程 会copy一份主进程的所有代码,并且机制类似于import引入,
    这样就容易导致引入代码的时候,被引入的代码中的可执行程序被执行,导致递归开始进程,会报错.所以我们要写一行这个,在这一行下面创建主进程,
    p = Process(target=f1,) 开始创建对象p, target是创建子进程对象就是 f1
    p.start() 开始程序,开启程序
    p1 = Process(target=f2,) 创建第二个子进程 f2
    p1.start() 开始程序,开启程序
    print("好想吃") 主进程代码

    好了以上就是进程创建的第一种方式,就是这样的一个格式,以后就按这个格式写就对了.

    第二种
    class MyProcess(Process): #第二种呢就是写一个类了,第一种是写了两个函数对吧第二种呢就是写个类,类名自己随便写,然后继承Process这个类
                      因为我们要使用这个Process中的属性,跟方法
    def __init__(self,name): 这一步就按照类的格式正常写就好了
    super().__init__() 这一步,super()是因为我们要去找我们的继承的父类Process,用人家中的方法,而不是用自己的创建的类中的方法,自己创建的类当中也没有对吧
                      然后往下正常写就好了
    self.name = name
    def run(self):
    print(self.name)
    if __name__ == '__main__':
    p = MyProcess("alex") 这一步不用Process来创建对象了,嗯,对,就是这样写的,直接写类名来创建,()里面写参数
    p.start()
    这是第二种创建方式,到目前为止就这两种,大家要记住哦,这不难,但就是需要花些时间耐心的去理解一下.



      

  • 相关阅读:
    前端总结挺全面的
    cmd与bat脚本的使用
    Spring控制反转(IoC)的理解
    C# 中迭代器
    URL 分页并排序
    结合Flash上传文件时显示进度条
    C# 语言特性
    where T:new()
    图片缩放特效
    C# 隐藏窗体 ALT+TAb不可见
  • 原文地址:https://www.cnblogs.com/python-lyy/p/10263161.html
Copyright © 2020-2023  润新知