`
m635674608
  • 浏览: 5041811 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

进程VS.线程

 
阅读更多

资料来源:

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

1、Apache最早就是采用多进程模式

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

3、多进程优缺点

优点:

多进程模式最大的优点就是定性高,因为一个子进程崩溃,不会影响主进程和其他子进程。(当然主进程挂了所有进程就全挂了,但是master进程只负责分配任务,挂掉的概率低),著名的Apache最早就是采用多进程模式。

缺点:

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

4、多线程的优缺点

多线程模式通常比多进程快一点,但是也快不到哪去。

缺点:

多线程模式致命的缺点就是,任何一个线程挂掉都可能直接造成整个进程崩溃,因为所有线程共享进程的内存。

在Windows上,如果一个线程执行的代码出了问题,你经常可以看到这样的提示:“该程序执行了非法操作,即将关闭”,其实往往是某个线程出了问题,但是操作系统会强制结束整个进程。

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

 

http://m.oschina.net/blog/479642

分享到:
评论

相关推荐

    linux进程的最大线程数 及最大进程数.zip

    linux进程的最大线程数 及最大进程数.zip

    c语言__多进程和多线程.doc

    c语言__多进程和多线程 多进程程序的特点: 1. 并行化:将复杂的事件分解成简单的事件,各个事件可以并发执行,提高程序的效率。 2. 简单有序:每个进程的设计是简单的,对每个进程的设计是分开的,总控部分小心...

    15.线程与进程.doc

    线程与进程是操作系统中并发执行的基本单位,理解它们的概念和特性对于编写高效的多任务程序至关重要。线程,可以理解为程序中独立的控制流,它不拥有独立的资源,而是共享同一进程的资源,包括内存空间、打开的文件...

    进程线程及死锁

    进程、线程、死锁和POSIX规范的系统调用 进程是操作系统中一个独立的执行单元,它拥有自己的虚拟地址空间和系统资源。线程是轻量级的进程,它共享同一个进程的虚拟地址空间和系统资源。理解进程和线程的概念对于...

    什么是线程、进程...

    什么是线程、进程...

    Windows下查看进程中的线程

    在Windows操作系统中,管理和分析进程中的线程是系统管理员和开发者日常工作中不可或缺的一部分。了解如何查看这些线程有助于排查性能问题、定位程序错误以及优化系统资源的使用。本篇文章将详细探讨如何在Windows...

    进程与线程的生动形象理解

    ### 进程与线程的生动形象理解 #### 一、引言 进程与线程作为操作系统中的核心概念,对于理解和开发高效的软件至关重要。本文旨在通过一个生动的类比来帮助读者更好地理解进程与线程的基本概念及其差异,并进一步...

    python进程和线程.pdf

    第16章 进程和线程.pdf

    进程和线程之间的关系

    ### 进程和线程之间的关系 在计算机科学领域中,进程和线程是两个非常重要的概念,它们之间既有联系又有区别。对于初学者来说,理解进程与线程的关系至关重要,因为这有助于深入掌握操作系统的基本原理及应用。下面...

    进程与线程的管理 .PPT 进程、线程和优先级

    进程与线程是操作系统中重要的概念,它们是执行程序的基础。在计算机系统中,进程可以理解为一个资源分配的基本单位,包含应用程序运行所需的所有资源,如内存、输入/输出设备等。而线程则是执行的基本单元,是进程...

    线程和进程的区别.txt

    ### 线程和进程的区别 #### 进程与线程的基本概念 在现代操作系统(如Windows、UNIX等)中,进程(Process)和线程(Thread)是两个非常重要的概念,它们对于理解和设计多任务操作系统及其应用程序至关重要。进程...

    有关vc的多进程线程.rar_Windows多进程_多进程_多进程 windows

    在"多进程线程.doc"这个文档中,可能详细介绍了如何在VC++中实现多进程和多线程,包括进程的创建、进程间通信(如管道、命名管道、共享内存、邮件槽等)以及线程的创建、线程同步和线程安全的数据访问。此外,文档...

    进程线程通信,线程同步,异步,进程通信经典进程间通信.7z

    在计算机科学中,进程线程通信、线程同步与异步以及进程间的通信是操作系统核心概念,对于理解和优化多任务并行处理至关重要。这些概念在软件开发,尤其是并发编程领域中占据着举足轻重的地位。 首先,让我们来探讨...

    c语言多进程多线程编程.pdf

    《C语言多进程多线程编程》是一本深入探讨C语言在并发编程领域的专业书籍。在计算机科学中,进程和线程是操作系统中并行执行任务的基本单位,理解和掌握它们对于提升程序性能和优化资源利用至关重要。这本书籍针对...

    c语言多进程多线程编程

    在计算机科学中,多进程和多线程是两种并发执行的方式,它们允许程序在同一时间处理多个任务,从而提高系统的效率和响应性。C语言作为一门底层且强大的编程语言,提供了丰富的系统调用接口来实现多进程和多线程编程...

    进程和线程有什么区别?

    简而言之,一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程,使得多线程程序的并发性高。 另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行...

    Python进程vs线程共18页.pdf.zip

    Python中的进程和线程是两种不同的并发执行方式,它们在多任务处理中起着至关重要的作用。理解这两者的区别和应用场景对于任何Python开发者来说都至关重要。 1. **进程**: 进程是操作系统分配资源的基本单位,每...

    c++进程与线程

    在计算机科学领域,C++是一种强大的编程语言,它支持创建多进程和多线程的应用程序。进程和线程是操作系统中的基本概念,对于理解和优化软件性能至关重要。让我们深入探讨这两个概念以及它们在C++编程中的应用。 **...

    C++_MFC_进程、线程.

    为了确保程序的正确性和高效性,我们需要掌握如何有效地管理进程和线程,例如通过合理的线程池设计来避免频繁的创建和销毁,通过异步操作提高响应速度,以及使用条件变量和信号量来协调线程间的操作。 此外,C++11...

    进程&线程查看器2.0.rar_Process_c 查看进程_进程线程

    4. **进程线程查看器的作用**:"进程&线程查看器2.0"是一个实用的工具,它能实时显示系统中所有进程及其对应的线程信息,包括进程ID、优先级、内存使用情况、线程数量等。这对于开发者调试程序、排查系统问题或监控...

Global site tag (gtag.js) - Google Analytics