• 正文
    • 1.epoll和select的区别
    • 2.poll和epoll的区别
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

epoll和select的区别 poll和epoll的区别

2023/06/20
1123
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

Linux中,epoll、select、poll是常用的事件驱动IO模型。它们可以较好地提升I/O效率,但各自有其特点和适用场景。本文将介绍epoll和select的区别以及poll和epoll的区别。

1.epoll和select的区别

1.1 监听文件描述符数量

select使用一个fd_set数据结构来存储监听的文件描述符,其中大小被限制在FD_SETSIZE内。而epoll允许监视大量文件描述符,这使得在高并发情况下更加高效。

1.2 I/O效率

在I/O操作频繁的情况下,select每次都需要遍历所有的文件描述符来寻找活跃的连接,而epoll使用了回调机制,只有活跃的连接才会触发回调,因此效率更高。

2.poll和epoll的区别

2.1 监听文件描述符的方式

在轮询文件描述符的时候,poll和select都需要将所有被监听的文件描述符拷贝到内核空间。而epoll在添加文件描述符的时候,已经将这些文件描述符的指针复制到内核空间中,不需要重复拷贝。

2.2 I/O效率

在I/O操作频繁的情况下,轮询的开销也会增加。在这种情况下,poll和select的效率不如epoll高。因为epoll使用了回调机制,在活跃的连接才会触发回调,所以效率更高。

epoll、select、poll都是常用的事件驱动IO模型。每种模型都有其特点和适用场景。本文主要介绍了epoll和select的区别以及poll和epoll的区别。希望可以帮助读者更好地理解这些事件驱动IO模型。

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
ACS770LCB-050U-PFF-T 1 Allegro MicroSystems LLC Hall Effect Sensor, BICMOS, Plastic/epoxy, Rectangular, 5 Pin, Through Hole Mount, PACKAGE-5

ECAD模型

下载ECAD模型
$11.16 查看
282836-4 1 TE Connectivity (282836-4) TERMI-BLOK PCB MOUNT 90 4P.

ECAD模型

下载ECAD模型
$1.68 查看
LM358DR 1 Rochester Electronics LLC DUAL OP-AMP, 9000 uV OFFSET-MAX, 0.7 MHz BAND WIDTH, PDSO8, GREEN, PLASTIC, MS-012AA, SOIC-8
$0.31 查看

相关推荐

电子产业图谱