zoukankan      html  css  js  c++  java
  • 多个(子)进程的开启,进程的常用属性和方法

    day35多个(子)进程的开启,进程的常用属性和方法

    1.名词解释

      并发:  单核,多个进程同时发生,让用户感觉多个进程是同时进行的.

      并行: 多核,每个核心单独处理一个进程,这几个进程之间是并行的

      同步: 当子类进程被开启,并且执行的过程中父类进程会处于等待状态,只有字类进程执行结束,父类进程才会接着执行,直到结束.

      异步:  当子类进程被开启并执行过过程中,父类进程不会停止执行,而是同时执行,知道父类进程执行结束.

      阻塞: 正在执行的进程,等待某个事件而无法继续时,会放弃处理机而处于阻塞状态,

      非阻塞: 没有阻塞

    2.两种开启进程的方法

        2.1 p = Process(target=func,args=(1,))

    from multiprocessing import Process
    import time
    import os
    def func(i):
    time.sleep(1)
    print(os.getpid(),os.getppid())
    if __name__ == '__main__':
    p = Process(target=func,args=(1,))
    p.start()
    print(os.getpid(),os.getppid())

       2.2 自定义类,继承Process父类

    from multiprocessing import Process
    import time
    import os
    class MyProcess(Process):
    def __init__(self,name):
    super(MyProcess,self).__init__()
    self.name = name
    def run(self):
    print("这是继承类的方式开启的子进程%s" % self.name)
    if __name__ == '__main__':
    p1 = MyProcess("baobao")
    p1.start()
    p1.run()


    3.进程的常用方法
      3.1 start() 开启一个进程
      3.2 join() 将异步变成同步
      3.3 is_alive() 判断进程是否还活着
      3.4 terminate 杀死一个进程

    4.进程的常规属性
      4.1 p.name = 给p进程一个名字
      4.2 p.pid 返回p进程的pid
      4.3 p.daemon = True 将p进程设置为守护进程,
          守护进程的两个特点: 1> 守护进程会随着父进程的结束而结束 2> 守护进程不能再创建子进程(不能要孩子)


    5.os模块的拓展
      5.1 os.getpid 获得进程的pid
      5.2 os.getppid 获得进程的父进程的pid











  • 相关阅读:
    玩家的numpertpry 对象 中 不仅仅要同步 君主武将的等级,阶级也要同步
    synchronized 的真正含义
    学习笔记——WPF
    学习笔记——AOP
    好记性不如烂笔头——WebService与Remoting
    好记性不如烂笔头——垃圾回收
    “返回顶部”实现一例
    ASP.NET MVC脚本及样式压缩
    设计模式学习笔记——迭代器模式
    设计模式学习笔记——策略模式
  • 原文地址:https://www.cnblogs.com/kcwxx/p/9507877.html
Copyright © 2011-2022 走看看