红联Linux门户
Linux帮助

进程和线程的区别及多进程和多线程的区别

发布时间:2016-12-22 09:19:11来源:linux网站作者:ZM_iTUDOU
1.进程和线程的区别
(1)进程资源分配的最小单位,是程序的一次执行。
线程是cpu调度的最小单位,可以理解为进程中执行的一段程序片段
(2)进程间是独立的,一个程序崩溃后,在保护模式下不会对其他进程产生影响。同一进程所产生的线程共享同一内存空间,一个线程挂掉会导致整个进程挂掉;
(3)同一进程中两段代码不能同时执行,除非引入线程;、线程所占用的资源要少于进程所占用资源;
(4)进程间可以通过IPC通信,但线程不可以。
 
2.多进程和多线程的区别
建立在上面进程与线程的区别基础上。
1.线程是进程的一个执行流,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。
进程资源分配的最小单位,是程序的一次执行。
2.线程有自己的堆栈和局部变量,但线程没有单独的地址空间,一个线程死掉就等于整个进程死掉。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,所以多进程的程序要比多线程的程序健壮。
3.在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/27123.html