niginx核心函数指令1:accept_mutex

最近在翻译nginx的官方文档,目前刚刚开始modole reference部分,今天来简单的分析一下core functionality中的第一个指令:'accept_mutex'。

对于这个指令,官方文档中给出的定义是这样的:


如果生效了'accept_mutex'指令,工作进程会轮流地接受新的连接。否则,所有的工作进程都会得到这个连接的通知,如果连接数量很低,一些

(空闲的)工作进程就会无意义地消耗系统资源(cpu)。

在一些支持'epoll'方法或使用'reuseport'的系统中无需启用'accept_mutex'。

nginx 1.11.3以上的版本,'accept_mutex'指令的默认值为'on'。

顾名思义,accept mutex的意思为接收互斥量(翻译的很粗暴)。

惊群问题:当你向一群鸽子仍一块食物的时候,所有鸽子都会被惊动,来争抢这块食物,最后只有一只鸽子吃到食物,其他鸽子回去继续睡觉,等待

下一块食物的到来,这样每仍一块食物,所有的鸽子都会被惊醒。就好比java中的多线程去共享同一个资源。为了确保线程安全(当多个线程访问同一个资源(类,对象或方法)时,这个资源始终能表现出一个正确的行为,那么这个资源就是线程安全的)。最简单的方法就是通过给这个资源(可以抽象为一个对象或一个代码块)加锁(synchronized)。因为锁语句产生了一种互相排斥的效果,这种机制常常被称为“互斥量”。以相同的思想再去理解这个'accept_mutex'。

本人处在自学阶段,参考了一些前辈的博客,并查询了相关的概念:

参考博客1:http://huoding.com/2013/08/24/281;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值