守护进程和守护线程

最近工作遇到守护线程和守护进程,百度一番发现有些是错误的帖子,而且不少是雷同内容,有误导~

几个名词

守护:后台运行的程序,不需要和用户交互。

服务:相应其他请求的程序

进程:拥有独立内存、磁盘、cpu等资源的一次运行过程,至少包括一个线程。

线程:线程的实际运行单位,依附于进程存在,不具有独立的运行资源,一般和其他线程共享一个进程的运行资源。

守护线程:相对于非守护线程(普通用户线程)而言,在python中通过setDaemon(True)设置。

守护线程在运行过程不受主线程和其他用户线程的关注,一般不访问物理资源(不能持有需要关闭的资源,比如文件等,因为守护线程随时会退出),当其他所有的非守护线程结束之后,守护线程是自动结束,不需要主线程去检查其状态。

eg:Java的JVM就是守护线程,一旦程度停止,JVM自动停止。

守护进程:区别于守护线程,守护进程在后台运行运行,不需要和用户交互,本质和普通进程类似,是一个相对的概念。

阻塞:python中通过join函数设置阻塞,主线程会在join处停止等待其他子线程运行结束之后,才会继续向下执行。

参考图片:

-- over --

发布了64 篇原创文章 · 获赞 24 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qm5132/article/details/104056948