做淘客网站用什么程序,物流网络平台都有哪些,ftp网站模板,是否网站备案目录 1.大量的fd 集合。选择什么数据结构#xff1f;2、Epoll 数据结构Epitem 的定义Eventpoll 的定义 1.大量的fd 集合。选择什么数据结构#xff1f;
查找频率很高的数据结构 1.红黑树 2.哈希#xff08;扩容缩容#xff09; 3. b/btree #xff08;降低树的高度#… 目录 1.大量的fd 集合。选择什么数据结构2、Epoll 数据结构Epitem 的定义Eventpoll 的定义 1.大量的fd 集合。选择什么数据结构
查找频率很高的数据结构 1.红黑树 2.哈希扩容缩容 3. b/btree 降低树的高度磁盘
2、Epoll 数据结构
Epoll 主要由两个结构体eventpoll 与 epitem。Epitem 是每一个 IO 所对应的的事件。比如 epoll_ctl EPOLL_CTL_ADD 操作的时候就需要创建一个 epitem。Eventpoll 是每一个 epoll 所 对应的的。比如 epoll_create 就是创建一个 eventpoll。
Epitem 的定义 rdlink就绪队列 sockfdevent红黑树的kv
Eventpoll 的定义 epoll_create会生成eventpollrbr指向红黑树rdlist指向就绪队列还有控制线程安全的功能
epoll_clt来添加删除修改红黑树的节点
epol如何做线程安全? 1.红黑树– mutex 2.就绪队列– spinlock
epoll_wait会把就绪队列里拷贝到数据events[]