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

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











猜你喜欢

转载自www.cnblogs.com/kcwxx/p/9507877.html
今日推荐