守护进程VS守护线程

时间:2021-04-23 14:54:18

守护(daemon)进程

引入:

  join()方法可以使一个进程运行完之后再执行下一个进程,而daemon()方法就是主进程的代码执行完毕之后,不需要等待子进程,立即终止子进程。

  join()方法和daemon()方法都是改变进程顺序的方法。

特点:

  1.daemon()方法要写在start()方法之前。

  2.子进程被设置成守护进程后,一旦主进程代码执行完毕,不管子进程是否运行完毕,子进程都会立即终止。

代码示例:

 1 from  multiprocessing  import  Process
2 import os,time,random
3 def task():
4 print('runing ',os.getpid())
5 time.sleep(random.randint(1,3))
6 print('done',os.getpid())
7 if __name__ == '__main__':
8 p1 = Process(target=task)
9 p1.daemon = True#将p1设置成守护进程
10 p1.start()
11 print('主进程',os.getpid())