For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
进程与线程是程序员在学习java编程开发语言的时候需要重点掌握的两个编程知识点,下面我们就通过案例分析来了解一下,软件开发守护进程与守护线程的区别。
一:守护进程
1.什么是守护进程?
1.守护进程会在主进程代码运行结束的情况下,立即挂掉。
2.守护进程本身就是一个子进程。
2.概况
主进程在其代码结束后就已经算运行完毕了(守护进程在此时就被回收),然后主进程会一直等非守护的子进程都运行完毕后回收子进程的资源(否则会产生僵尸进程),才会结束,
3.为什么要用守护进程?
1.守护进程本身就是一个子进程,所以在主进程需要将任务并发执行的时候需要开启子进程。
2.当该子进程执行的任务生命周期伴随着主进程的生命周期时,就需要将该子进程做成守护进程。
二:守护线程
1.什么是守护线程?
1.守护线程会在"该进程内所有非守护线程全部都运行完毕后,守护线程才会挂掉"。
2.并不是主线程运行完毕后守护线程挂掉。这一点是和守护进程的区别之处!
2.概况
守护线程守护的是:当前进程内所有的非守护线程!你可以算上主线程理解,也可以不算上理解,因为主线程和守护线程是一起死的。
3.守护线程运行规律
1.主线程在其他非守护线程运行完毕后才算运行完毕(守护线程在此时就被回收)这里的运行完毕就是线程死掉了,回收了。
2.因为主线程的结束意味着进程的结束,进程整体的资源都将被回收,而进程必须保证非守护线程都运行完毕后才能结束。守护线程有一个特征,那就是会和主线程一起死掉。
三:主线程与进程的关系
主线程的生命周期就是一个进程的生命周期
1.主进程与进程
主进程等待子进程是因为主进程要负责回收子进程的系统资源
主线程等待子线程是因为主线程要等待子线程运行完毕(子线程运行完毕后,这个进程才算运行完毕)后,主线程才结束。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。