进程VS.线程-笔记

资料来源:服务器

http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001397567993007df355a3394da48f0bf14960f0c78753f000多线程

一、Apache最先就是采用多进程模式

二、IIS服务器默认采用多线程模式

三、多进程优缺点

优势:

多进程模式最大的优势就是定性高,由于一个子进程崩溃,不会影响主进程和其余子进程。(固然主进程挂了全部进程就全挂了,可是master进程只负责分配任务,挂掉的几率低),著名的Apache最先就是采用多进程模式。spa

缺点:

多进程模式最大的缺点是建立进程的代价大,在Unix/Linux系统下,用fork调用就行,在Windows下建立进程开销巨大。另外,操做系统能同时运行的进程数也是有限的,在内存和CPU的限制下,若是有几千个进程同时运行,操做系统连调度都会成问题。
操作系统

四、多线程的优缺点

多线程模式一般比多进程快一点,可是也快不到哪去。线程

缺点:

多线程模式致命的缺点就是,任何一个线程挂掉均可能直接形成整个进程崩溃,由于全部线程共享进程的内存。进程

在Windows上,若是一个线程执行的代码出了问题,你常常能够看到这样的提示:“该程序执行了非法操做,即将关闭”,其实每每是某个线程出了问题,可是操做系统会强制结束整个进程。内存

在Windows下,多线程的效率比多进程要高,因此微软的IIS服务器默认采用多线程模式。因为多线程存在稳定性的问题,IIS的稳定性就不如Apache。为了缓解这个问题,IIS和Apache如今又有多进程+多线程的混合模式,真是把问题越搞越复杂。get

相关文章
相关标签/搜索