关注我 获取大厂内部交流群
用途
epoll类似于select和poll 也是把要监听的文件描述符纳入自己的监管
但是由于select和poll的缺点存在,基于selec或者pollt模型的服务器程序,
要达到10万级别的并发访问,是一个很难完成的任务。
由于epoll的实现机制与select/poll机制完全不同,
上面所说的 select/poll的缺点在epoll上不复存在。
用法
下面是epoll监控标准输入(文件描述附为0)的一个简单例子
#include <sys/epoll.h>
#include <stdlib.h>
#include <error.h>
#include<iostream>
#include <unistd.h>
using namespace std;
int main(){
//step1: epoll开始工作之前 先把文件描述符纳入epoll监管
struct epoll_event listen_fd;
listen_fd.data.fd=0;
listen_fd.events=EPOLLIN;
int epoll_fd=epoll_create(10);
epoll_ctl(epoll_fd,EPOLL_CTL_ADD,0,&listen_fd);
//step2: epoll开始工作 阻塞的等待文件描述符就绪
struct epoll_event ready_events[