一、概念
进程 是在内存上运行着的程序
线程 是轻量级的进程。
是进程内部的一条执行序列(一组有序指令),或者说是执行流。一个进程至少有一条线程,就是main函数所代表的执行序列,通过线程库可以创建线程(即函数线程),一个进程中所有的线程是并发执行的。
主线程仅仅代表进程执行的第一条线程。当主线程通过线程库创建出函数线程以后,所有线程就没有任何区别。
二、进程与线程的区别
a、进程是资源分配的基本单位,线程是cpu调度执行的基本单位
b、一个进程内包含多条线程。进程是独立的执行个体,线程是进程内部的执行序列
c、进程切换效率低、代价大;线程切换效率高,代价小
d、多进程之间资源不共享的,只有父子进程共享在fork()之前打开的文件描述符;多线程之间资源共享,只有栈区不共享