Linux对网络通信的实现原理(select、poll、epoll)

1.Linux网络IO模型

1.1 同步和异步、阻塞和非阻塞的区别

     - `同步`:调用方需要主动等待结果的返回。
     - `异步`:调用方调用了函数不需要等待结果的返回,后续通过回调等手段来处理结果。
     - `阻塞`:在调用方拿到结果之前,线程会被挂起,不能做任何事。
     - `非阻塞`:在调用方拿到结果之前,线程可以执行一些其他的事情,不会被挂起。

1.2 同步、异步、阻塞、非阻塞的相互组合模式

     - `同步阻塞模式`:最常见的组合模式,调用方在拿到结果之前,线程处于挂起状态,直到有数据触达为止。
     - `同步非阻塞模式`:调用方发起了函数调用,通过轮询的方式来检查结果,这个过程线程并未阻塞,但是轮询的目的是等待结果的返回。
     - `异步阻塞模式`:最不常用的方式,这种方式没有发挥出异步的真实效果。
     - `异步非阻塞模式`:调用方发起函数调用后,给接受方一个回调函数,然后自己去执行其他的方法。后续接受方有了数据后主动调用回调函数来实现结果的返回。

1.3 Linux的5种IO模型

Linux的5种IO模型:阻塞IO、非阻塞IO、IO多路复用、信号驱动IO、异步IO,前面四种都是同步的模式,只有最后一种是异步的。
注࿱

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Minor王智

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值