zoukankan      html  css  js  c++  java
  • epoll机制

    epoll一共需要三步:

    //声明epoll类型的结构体,ev位要设置的变量,rev位返回时设置变量

    1.   创建epoll机制

            int   epfd;

      struct   epoll_event   ev,   rev[count];

      epfd=epoll_create1(0)//参数为0或EPOLL_CLOEXEC

    2.  配置epoll文件

      epoll_ctl (int epfd, int op, int fd, struct epoll_event *event)

      epfd:epoll机制文件描述符

      op:    执行什么操作

         EPOLL_CTL_ADD:添加一个文件描述符到epoll机制中

         EPOLL_CTL_ADD :

         EPOLL_CTL_ADD:删除一个文件文件描述符

      fd:要对哪一个文件描述符进行操作

      struct   epoll_event{

          uint32_t     event;  //要监听的事件  //EPOLLIN |  EPOLLIN | EPOLLIN....

           epoll_data_t  data;//data是一个联合体,一般常用*ptr或fd

      }

     3.  阻塞等待事件

      epoll_wait(int epfd,  struct epoll_event *events,int maxevents,int timeout)

       epfd:epoll文件描述符

          events:事件发生后用于记录的数组,如上声明的rev;

       maxevents:最大监听(并发)数量

         timeout:-1代表永不超时,无触发则阻塞。q       

  • 相关阅读:
    .net core入门
    编码之Base64编码
    C++ 实现十大排序算法
    C++11 智能指针
    Object Pool 对象池的C++11使用(转)
    mac pro 1.5T内存是如何实现的
    Linux C/C++开发
    mac Chrome 快捷键
    C++11多线程
    Java项目压力测试(待补)
  • 原文地址:https://www.cnblogs.com/edan/p/8986838.html
Copyright © 2011-2022 走看看