守护进程VS守护线程

守护(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())

  

原文地址:https://www.cnblogs.com/liuyinzhou/p/7978211.html