守护进程VS守护线程

Posted 云烟成雨。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了守护进程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())

 

  

以上是关于守护进程VS守护线程的主要内容,如果未能解决你的问题,请参考以下文章

死锁现象与解决方案,开启线程的2种方式,守护线程,线程VS进程,线程互斥锁,信号量

守护线程与守护进程

python基础-守护进程守护线程守护非守护并行

守护进程与守护线程的区别

关于守护进程和守护线程的区别

5.1.14 守护线程