nginx优化之nginx的进程与线程
nginx进程与线程
进程(Process): 是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。 在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。程序是指令、数据及其组织形式的描述,进程是程序的实体。
线程(thread):是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
简单的对比:
进程:指在系统中正在运行的一个应用程序;程序一旦运行就是进程;进程——资源分配的最小单位。
线程:系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元执行流。线程——程序执行的最小单位。
如何理解进程与线程:
比如一个工厂,我们可以看做是一个系统,这个工厂中会有很多的流水线,这些流水线我们可以看做是一个个进程,也就说这个工厂就是我们的应用程序,每个应用程序可以create出很多的进程,每个进程都会有不同的工作。
对于线程来说是流水线中不同阶段的工人,每个工人负责着流水线在不同节点时的工作,而在进程中,线程也可以去处理不同的工作。
nginx进程结构
master进程作用
1.解析配置文件
2.初始化数据结构
3.模块配置
4.信号处理
5.网络监听生成
6.工作进程生成以及管理
worker进程
worker进程作用
1.初始化进程
2.调用nginx的各个模块
3.处理接收的请求