图文详解:Linux epoll和io_uring到底谁更牛?
大家好,这里是物联网心球。一直以来,在Linux高性能网络编程中使用最多的网络I/O模型是epoll。epoll除了性能优越,稳定性也很高,似乎epoll成了高并发应用场景的唯一选择。然而随着io_uring的出现,这一局面慢慢被打破。 …
标签「I/O多路复用」下的全部文章,共 10 篇。 ← 返回全部文章

大家好,这里是物联网心球。一直以来,在Linux高性能网络编程中使用最多的网络I/O模型是epoll。epoll除了性能优越,稳定性也很高,似乎epoll成了高并发应用场景的唯一选择。然而随着io_uring的出现,这一局面慢慢被打破。 …

大家好,这里是物联网心球。 最近一直忙着写我的新书,很久没有更新文章了,今天的文章是新书中的一个小节,希望能帮助大家彻底搞懂epoll机制。 1.从内核看epoll机制 select和poll虽然能够实现IO复用的功能,但是由于设计的缺陷 …

大家好,这里是物联网心球。 今天我们要讨论的高性能编程主题是Reactor模型,通过Reactor我们要实现百万并发请求。 1.聊聊百万并发 1.1 什么是百万并发? 百万并发是指一个系统能够同时处理一百万以上的并发连接或请求。

大家好,这里是物联网心球。 本期我们来聊聊时间轮,话不多说我们直接开始今天的主题。 1.初识时间轮 时间轮(TimingWheel) 是一个环形队列,底层采用数组实现,数组中每个元素都是一个链表,链表中存储的是一个个定时任务。

前言: 最近一直在研究Linux IO模型,Linux IO模型是一个挺复杂的概念,分析Linux IO模型一定要注意方法,否则会在一个个概念中,迷失自我。

前言: 前面几篇文章已经详细讲解了Linux select和epoll机制,select和epoll两种IO复用方式用的人比较多,就像一家人一样,epoll相当于大哥,select相当于弟弟,而poll相当于二哥,家里的老二通常是很容易被忽 …

前言: select机制已经被很多人都讲解过,select使用起来也不是特别难,为什么还要花时间再次讲解select机制? 在回答这个问题之前,我们先问一下自己,是否有足够的信心保证在使用select编程时不出错,select机制虽然看起来 …

1.epoll简介 epoll是Linux内核为处理大批量文件描述符而作了改进的poll,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。

知识地图 1.epoll基础简介 1.1 相关函数介绍 epoll_create函数 epoll_create函数用于创建epoll文件描述符,该文件描述符用于后续的epoll操作,参数size目前还没有实际用处,我们只要填一个大于0的数就 …

知识地图 1.poll介绍 1.1 poll函数 #include <poll.h> int poll(struct pollfd *fds, nfds_t nfds, int timeout); 参数: fds:监听事件结构体 …