首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于epoll和消息队列的关联,一起讨论的进,答案

2012-06-06 
关于epoll和消息队列的关联,一起讨论的进,在线等答案我对epoll的内部实现不太理解。消息队列无非就是个链表

关于epoll和消息队列的关联,一起讨论的进,在线等答案
我对epoll的内部实现不太理解。

消息队列无非就是个链表,send 给它,然后recevie它。

那epoll,是否就是,监听某个地方,比如消息队列,一有消息或者什么,然后就做出处理呢

[解决办法]
epoll使用红黑树索引fd,存储其epoll_event,实际去用一下select,再用一下epoll,看看编程会给你带来什么改变不就好了,差别是很大的,只有你自己去写个服务端就发现了,epoll的精髓在于其struct epoll_event结构体的定义,对实际服务端开发减少了非常多的遍历,从原来的O(n^2)减少到O(n).

C/C++ code
           typedef union epoll_data {               void        *ptr;               int          fd;               uint32_t     u32;               uint64_t     u64;           } epoll_data_t;           struct epoll_event {               uint32_t     events;      /* Epoll events */               epoll_data_t data;        /* User data variable */           }; 

热点排行