linux5种网络IO模型

5 篇文章 0 订阅

看网上书上的各种解释太绕口难理解了,看到个例子挺好的。

女儿去外地工作,不弄经常回来,父女俩通过信件进行沟通

1.阻塞IO

daughter走之后,father一直在小区收发室等信。

 

2.非阻塞IO

father过一会来看一次,看看信到了没有(效率不高,吞吐量可能会降低)

 

3.IO复用

收发室改造系统,father向小区注册,之后会在家添加一个提醒装置,有信到达的时候就会提醒

 

4.信号驱动IO

但是还是免不了去取信读信回信等操作,只要住户告诉小区物业具体的操作,小区物业就会按照步骤去做。

 

5.异步IO

小区自动回信,将回信结果告诉住户。

 

java nio->select/poll方式 -> epoll方式

 

Linux对所有的外部设备都看做是一个文件,对一个文件的读写操作会调用系统的命令,返回一个file description(fd)

 

进程将一个多个fd转的哥select/poll,这样select/poll可以侦测多个fd,select/poll采用轮训的方式,并且fd的支持数量有限,收到了一些约束。 -> epoll 基于事件的驱动方式代替扫描,因此性能更高。

java旧版本采用select/poll(1.4-1.5),后续采用epoll(>1.5)

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值