进程是程序运行的一个实例,是系统分配资源和调度的独立单元,可以理解为程序运行时系统分配给程序的运行空间,其中包括寄存器,堆空间,占空间,文本段,和代码段等,但是进程本身是不能运行的,每个进程都有4G的虚拟地址空间,windows32系统下为2G,在进程创建时,会同时创建一个主线程,线程是cpu调度和分派的基本单元,线程拥有自己的堆栈和程序计数器,共享进程的虚拟地址空间,但堆栈是独立的,只有主线程时,主线程独享空间,多线程时,多个线程共享空间。
进程和线程都是操作系统程序运行的基本单元,进程的划分尺度大于线程,也就是说进程可以包括n个线程。线程不能独立运行,需要倚赖应用程序提供多个线程之间内存共享和同步的管理和控制。进程是多任务操作系统(windows、unix等)执行应用程序的基本单元,操作系统为进程提供资源分配。