❤️轻松搞懂select、poll和epoll区别❤️

❤️轻松搞懂select、poll和epoll区别❤️

前言

epoll和select的区别:

select epoll
性能 随着连接数增加,急剧下降。处理成千上万并发连接时,性能很差。 随着连接数增加,性能基本上没有下降。处理成千上万并发连接时,性能很好
连接数 连接数有限制,处理的最大连接数不超过1024.如果要处理超过1024个连接数,则需要修改FD_SETSIZE宏,并重新编译。 连接数无限制
内在处理机制 线性轮询 回调callback
开发复杂性

select单个进程可监视的fd数量受到限制 epoll和select都可以实现同时监听多个I/O事件的状态 epoll基于轮训机制,select基于操作系统支持的I/O通知机制 epoll支持水平触发和边沿触发两种模式

一、select

select本质上是通过设置或检查存放fd标志位的数据结构进行下一步处理。 这带来缺点: - 单个进程可监视的fd数量被限制,即能监听端口的数量有限 单个进程所能打开的最大连接数有FD_SETSIZE宏定义,其大小是32个整数的大小(在32位的机器上,大小就是3232,同理64位机器上FD_SETSIZE为3264),当然我们可以对进行修改,然后重新编译内核,但是性能可能会受到影响,这需要进一步的测试 一般

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值