1、进程是系统进行资源分配和调度的基本单位,是操作系统结构的基础。进程是资源分配的最小单位,一个程序有至少一个进程。
1、线程是操作系统能够进行运算调度的最小单位。一个进程有至少有一个线程。
2、进程有自己的独立地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响。每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段,这种操作非常昂贵。
2、线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉。
3、线程之间的通信更方便,同一进程下的线程共享全局变量、静态变量等数据。
3、而进程之间的通信需要以通信的方式(IPC)进行。如何处理好同步与互斥是编写多线程程序的难点。