【操作系统】进程 与 线程
背景:A是进程,A中除了主函数之外,有A1、A2……、An这么多函数。B是在Ax函数中被启动的一个线程。
看完背景后,回答第一个问题:
当主函数调用了A2,A2中又调用了Am,Am中又调用了Ax,Ax又调用……。
请问:在调用函数的过程中,例如在Ax函数中,还是属于A进程吗?
如果以上问题回答“是”,则看下一问题:
当主进程函数调用,运行到Aw函数中,此函数启动了一个线程B。请问:当Aw函数执行完后,返回调用Aw函数的上一级调用他的函数Az(当然,如果上一问你回答“是”,则Az仍然是主进程A的地盘)。
请问:Aw已经结束了,B还没执行完,则线程B会继续执行(因为Az仍然为主进程,主进程没结束,只主进程中启动线程的函数Aw结束了),还是线程B会被强制终止(因为Aw是启动B线程的函数,该函数结束了,则B也会被终止)?
回答完以上两个问题后,再想一下,线程到底是因为父线程(整体)结束而被强制终止,还是因为父线程中启动子线程的函数(局部)结束而被终止?
请高手回答以上三个问题,自己写个编号1、2、3。谢谢!
[解决办法]
1 是
2 不会终止,除非你等待他退出
3 从来没听说线程还分父子之分.他们是平行的.除非一个所在的进程结素.或条件控制,他们是独立的
[解决办法]
一个进程可以包含很多线程
2,同上
3,你说的父线程应该是主线程吧,一般主线程结束,代表着进程结束,所有线程得到释放