线程,进程,协程:
1 线程是操作系统调度的基本单位,也是程序执行的基本单位;进程是操作系统资源分配的基本单位
一个进程可以包含多个线程(多线程编程),一个线程只属于一个进程
2 进程有自己独立的地址空间,当系统创建一个进程时,会分配内存空间,会增加一个数据表记录数据段,堆栈段,代码段。线程没有独立的地址空间,多个线程共用一个地址空间(对应的进程分配的地址空间),共用全局变量,静态变量。
3 创建一个进程的开销比线程花费多。同时进程间的切换也比线程间切换开销大
4 进程是安全的,一个进程死亡不会影响其他的进程,但是线程的死亡会导致所属进程也死亡
(因为共用内存空、间,全局变量),线程间的同步互斥是个难点
5 线程需要资源少,进程需要资源大。
6 协程:是个微线程,具有极高的执行效率,在程序进行切换,无需切换线程