nginx参数epoll

参数说明

相比较 select 和 poll,epoll 的最大特点是:

  • epoll 现在是线程安全的,而 select 和 poll 不是。
  • epoll 内部使用了 mmap 共享了用户和内核的部分空间,避免了数据的来回拷贝。
  • epoll 基于事件驱动,epoll_ctl 注册事件并注册 callback 回调函数,epoll_wait 只返回发生的事件避免了像 select 和 poll 对事件的整个轮寻操作。

什么是回调?一个简单的例子:

  • 四六级考试成绩快要出来的那段时间,小张每隔一段时间就去尝试查一下成绩,这个被称为轮询。
  • 小张并不在意疯狂刷新页面的事情,等到四六级成绩出来之后他的手机会自动收到考试院推送的一个消息:「叮,你的六级没过」,这样就是回调。

另一个方便理解的对比如下:

  • 对于 select / poll 模型来说,可以理解为让酒店代理订票,然后每隔几个小时就问一下买到没有,酒店在第二天订到了票,交钱给酒店拿到票,这样会需要额外的打电话时间和精力。
  • 对于 epoll 来说则是委托酒店帮忙订票,但是并不反复去问,酒店在第二天买到了票,酒店打电话通知来领票,交钱给酒店拿到票。

参考文献:

https://www.cnblogs.com/cangqinglang/p/11361617.html

https://www.jianshu.com/p/4d8568c0ef0c

猜你喜欢

转载自blog.csdn.net/OfficerGoodbody/article/details/126662476