进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。
线程是进程的一个实体,是cpu调度和分配的基本单位,只拥有一点在运行中必不可少的资源(计数器,寄存器,栈),但它可以与同属一个进程的其他线程共享进程所拥有的全部资源。
区别:
1.一个进程必定属于也只能属于一个进程,而一个进程可以拥有多个线程,并且至少拥有一个线程
2.属于一个进程的所有线程共享该线程的所有资源
3.线程被称为轻量级进程,线程间切换代价小,进程间切换代价大
4.进程是程序的一次执行,线程可以理解为程序中的一个程序片段的执行
5. 每个进程都有独立的内存空间,而线程共享其所属进程的内存空间
总之,一个程序至少有一个进程,一个进程至少有一个线程