1、进程
1)操作系统资源分配的基本单位。
2)进程状态:阻塞、就绪和运行。
3)每个进程都有自己独立的进程地址空间。
4)一个进程崩溃了,不影响其他进程。
5)进程创建、切换和销毁等开销大。
6)进程间通信,效率低。
2、线程
1)操作系统调度的基本单位。
2)线程独有的资源,主要为了线程切换时,保留TCB(Thread Control Block,线程控制块)
2.1)线程id,线程在进程中的唯一标识。
2.2)寄存器,如函数调用栈的指针。
2.3)栈,如函数调用栈。
2.4)错误返回码
2.5)线程优先级,用于调度。
2.6)信号屏蔽码,每个线程关心的信号可能不一样。
3)同个进程的多个线程,共享进程地址空间。
4)主线程崩溃,同个进程的其他线程也会崩溃。
5)线程创建、切换和销毁等开销小。
6)线程间通信,因为共享进程地址空间,效率高很多,特别是在通信数据量大时更明显。
3、协程