158 Linux C++ 通讯架构实战13,epoll 原理和函数介绍,epoll_create,epoll_ctl ,epoll_wait

epoll技术简介


    //(2.1)epoll概述
    //(1)I/O多路复用:epoll就是一种典型的I/O多路复用技术:epoll技术的最大特点是支持高并发;
    //传统多路复用技术select,poll,在并发量达到1000-2000,性能就会明显下降;
    //epoll,kquene(freebsd)
    //epoll,从linux内核2.6引入的,2.6之前是没有的;
    //(2)epoll和kquene技术类似:单独一台计算机支撑少则数万,多则数十上百万并发连接的核心技术;
    //epoll技术完全没有这种性能会随着并发量提高而出现明显下降的问题。但是并发没增加一个,必定要消耗一定的内存去保存这个连接相关的数据;
     //并发量总还是有限制的,不可能是无限的;
    //(3)10万个连接同一时刻,可能只有几十上百个客户端给你发送数据,epoll只处理这几十上百个客户端;
    //(4)很多服务器程序用多进程,每一个进程对应一个连接;也有用多线程做的,每一个线程对应 一个连接;
    //epoll事件驱动机制,在单独的进程或者单独的线程里运行,收集/处理事件;没有进程/线程之间切换的消耗,高效
    //(5)适合高并发,融合epoll技术到项目中,作为大家将来从事服务器开发工作的立身之本;
    //写小demo非常简单,难度只有1-10,但是要把epoll技术融合到商业的环境中,那么难度就会骤然增加10倍;

学习epoll要达到的效果及一些说明


    //(1)理解epoll的工作原理;面试考epoll技术的工作原理;
    //(2)开始写代码
    //(3)认可nginx epoll部分源码;并且能复用的尽量复用;

三:epoll原理与函数介绍:三个函数,理解好就等于掌握了epoll技术的工作原理,以下内容务必认真理解。

掌握这个三个函数的使用,并结合网上一些大神关于如何自己实现这个三个函数的源码分析,epoll的三个关键函数都干了什么。

大神源码:

    //https://github.com/wangbojing
    //a)c1000k_test这里,测试百万并发的一些测试程序;一般以main();
    //b)ntytcp:nty_epoll_inner.h,nty_epoll_rb.c
    //epoll_create();
    //epoll_ctl();
    //epoll_wait();
    //epoll_event_callback();
    //c)总结:建议学习完老师的epoll实战代码之后,再来学习 这里提到的课件代码,事半功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值