进程-Process | 线程-Thread | 协程-Coroutine
Process 进程
是对运行时程序的封装,是系统进行资源调度和分配的的基本单位,实现了操作系统的并发;
Thread 线程
是进程的子任务,是CPU调度和分派的基本单位,用于保证程序的实时性,实现进程内部的并发
线程是操作系统可识别的最小执行和调度单位。 每个线程都独自占用一个虚拟处理器:独自的寄存器组,指令计数器和处理器状态。
Coroutine 协程
微线程,更加轻量级,协程只需要KB级别。上下文切换成本低
相关概念
- 多进程 多个任务同时运行,多进程之间不共享内存
- 多线程 单个任务分成不同的部分运行,共享相同的程序,共享相同的资源。线程存在于进程之中
孤儿进程
一个父进程退出,而它的一个或多个子进程还在运行,那么这些子进程将成为孤儿进程。
僵尸进程
一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。
守护进程
后台服务进程 &
Liunx PS 运行相关参数说明
UID | PID | PPID | C | STIME | TTY | TIME | CMD |
---|---|---|---|---|---|---|---|
用户ID | 进程ID | 父进程ID | 进程占 cpu 百分比 | 进程启动的时间 | 终端机位置 | 实际使用 cpu 的时间 | 命令以及参数 |
参考
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ThinkBIM!
评论