进程是具有一定独立功能的程序关于某个数据集合激正上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。
线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一明锋悔组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。
扩展资料
进程和线程主要差别:
1、在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。
2、线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。
3、但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。
4、地址空间和其它资源(如打开文件):进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进基判程不可见。
5、通信:进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。
6、调度和切换:线程上下文切换比进程上下文切换要快得多。
7、在多线程OS中,线程不是一个可执行的实体。
参考资料来源:百度百科-线程
参考资料来源:百度百科-进程