进程:一个运行的程序或代码就是一个进程,一个没有运行的代码叫程序。进程是系统进行资源分配的最小单位,进程拥有本身的内存空间,因此进程间数据不共享,开销大。面试
线程:调度执行的最小单位,也叫执行路径,不能独立存在,依赖进程的存在而存在,一个进程至少有一个线程,叫主线程,多个线程共享内存(数据共享和全局变量),所以提高程序的运行效率。多线程
协程:用户态的轻量级线程,调度有用户控制,拥有本身的寄存器上下文和栈,切换基本没有内核切换的开销,切换灵活。并发