banner
Hi my new friend!

线程/进程/协程总览

Scroll down
  • 线程和进程的区别:
    本质上来说,线程是CPU调度和执行的最小单元,进程是资源分配的最小单元
    资源分配: 每个进程有自己的资源,相互隔离;而线程是共用其所处的进程的资源
    包含关系: 一个进程中可能包含多个线程
    切换成本: 进程的上下文切换成本比线程高

  • 什么是孤儿进程
    一般来说,子线程是有父进程fork出来的,当父进程消失了,但是子进程还存在,那么这些子进程就是孤儿进程.
    孤儿进程由init进程(进程号为1)代为管理,完成对孤儿进程的状态收集工作

  • 什么是僵尸进程
    在子进程运行结束后,内核会回收子进程的资源包括打开的文件,占用的内存等,但是会保留一些信息包括进程号,退出状态,运行时间.知道父进程通过wait/waitpid来取时才会释放.
    所以僵尸进程是每个子进程一定会经历的阶段,时间或长或短,如果系统中出现众多僵尸进程,则可以通过杀死其父进程的方法释放他们(转交给init进程释放)

其他文章