进程:是并发执行的程序在执行过程当中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位。html
线程:是进程的一个执行单元,是进程内科调度实体。比进程更小的独立运行的基本单位。线程也被称为轻量级进程。服务器
一个程序至少一个进程,一个进程至少一个线程。
网络
为何会有线程?多线程
每一个进程都有本身的地址空间,即进程空间,在网络或多用户换机下,一个服务器一般须要接收大量不肯定数量用户的并发请求,为每个请求都建立一个进程显然行不通(系统开销大响应用户请求效率低),所以操做系统中线程概念被引进。并发
线程的改变只表明CPU的执行过程的改变,而没有发生进程所拥有的资源的变化。 spa
进程线程的区别:操作系统
一个进程崩溃后,在保护模式下不会对其余进程产生影响,可是一个线程崩溃整个进程都死掉。因此多进程要比多线程健壮。.net
进程切换时,消耗的资源大,效率高。因此涉及到频繁的切换时,使用线程要好于进程。一样若是要求同时进行而且又要共享某些变量的并发操做,只能用线程不能用进程线程
优缺点:htm
线程执行开销小,可是不利于资源的管理和保护。线程适合在SMP机器(双CPU系统)上运行。
进程执行开销大,可是可以很好的进行资源管理和保护。进程能够跨机器前移。
什么时候使用多进程,什么时候使用多线程?
对资源的管理和保护要求高,不限制开销和效率时,使用多进程。
要求效率高,频繁切换时,资源的保护管理要求不是很高时,使用多线程。
参考:http://blog.csdn.net/yaosiming2011/article/details/44280797
http://www.cnblogs.com/flashsky/articles/642720.html