• 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       

  • 相关阅读:
    UVa 727
    UVa 11495
    UVa 299
    UVa 10194
    UVa 146
    10025
    Tug of War POJ 2576 DP(类似背包)
    Problem A: Freckles UVA 10034 裸生成树
    UVA 562
    CF DIV 2 206 C. Vasya and Robot
  • 原文地址:https://www.cnblogs.com/edan/p/8986838.html
Copyright © 2020-2023  润新知