1.进程是资源分配的最小单位,线程是任务执行的最小单位。

2.进程有自己独立的内存空间,每开启一个进程,系统就会分配相应的地址空间,建立数据表来维护代码段,数据段,堆栈段。线程共享进程的数据,使用相同的地址空间,所以cpu切换线程的花费比切换进程要小得多,同理创建线程也比创建进程的消耗要小得多。

3.线程的通信要简单很多,同一个进程下的线程共享全局变量,静态变量等数据,而进程的通信需要通过一些机制,比如:管道,信号量,共享内存

4.多进程的程序从某个角度来说更加健壮,一个进程死亡,不会影响其他进程,它们有独立的空间,而多线程程序就不一样,一个线程死亡,它的进程也会死亡。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注