linux进程与线程


多线程和多进程,无论在嵌入式领域,还是应用开发领域,都是不可避免要设计和使用的。 本套视频教程将从实践的角度带你深入理解什么是线程,什么是进程。如何更好的使用好多线程和多进程。



课程目标:深刻理解什么是进程


进程是资源的分配单位,有自己独立的虚拟空间。线程是执行单位,和进程里的所有线程共享虚拟空间。


课后作业:用自己的语言来描述什么是进程。



进程和线程各自优缺点


1.进程的优点


1)健壮性比线程好;


2)由于进程间各自互相独立,所以如果多进程程序设计,当有一个进程挂掉的时候,不会影响其他进程的执行。


2.进程的缺点


1)创建进程比创建线程会消耗更多的系统性能;


2)由于进程创建需要系统分配更多的资源,所以创建会更加复杂;


3)进程间的通信比线程间的通信要复杂;


4)进程间的通信,如消息队列,共享内存,信号量,socket等,通信非常的复杂,而线程共享虚拟内存,可以直接访问全局变量。



进程与线程的区别


1.从形态角度


一个进程可包含一个或多个线程


2.从调度角度


1)进程是资源分配的基本单位;


2)线程是处理器调度的独立单位。


3.从虚拟化角度


1)进程提供两种虚拟机制


虚拟处理器:进程独享处理器的假象;


虚拟内存:进程拥有系统内所有内存资源的假象。


2)线程之间可共享虚拟内存,但各自拥有独立虚拟处理器。



【本文由麦子学院独家原创,转载请注明出处并保留原文链接】

logo
© 2012-2016 www.maiziedu.com
蜀ICP备13014270号-4 Version 5.0.0 release20160127

您有一个双11钜惠红包未领取

客服热线 400-862-8862

回到顶部