进程
进程之间都是相互独立的,是计算机中的程序关于某数据集合上的一次运行活动,进程就是正在运行的程序,是计算机进行资源分配的最小单位。
进程通信需要通过系统调用陷入内核空间,再通过内核空间进行进程之间的通信
线程
- 线程被称为轻量级进程(Lightweight Process,LWP),是cpu调度的基本单位
- 组成:线程ID、当前指令指针(PC)、寄存器集合、堆栈组成
- 在单个程序中同时运行多个线程完成不同的工作,称为多线程。
进程 VS 线程
- 真正在cpu上运行的是线程
- 一个线程只能属于一个进程,一个进程里是可以有一个以上的线程,这些线程都是共享这个进程的内存空间的
- 不同的进程之间的内存空间都是独立的
- 创建新的线程很简单,创建一个新的进程需要对其父进程进行一次克隆
- 一个线程可以控制和操控同一个进程里的其他线程,进程只能操作子进程
- 一个主线程改变,可能会影响其他线程,改变父进程不会影响子进程