275-I/O阻塞和非阻塞,同步和异步

本文详细解析了网络I/O的两个阶段——数据准备和数据读写,以及在此过程中阻塞、非阻塞、同步、异步的概念。在数据准备阶段,阻塞和非阻塞主要区别在于是否使线程进入阻塞状态;而在数据读写阶段,同步I/O由应用程序自身处理数据搬运,而异步I/O则由操作系统完成并通知应用程序。最后,文章区分了业务层面的同步和异步处理方式。
摘要由CSDN通过智能技术生成

阻塞、非阻塞、同步、异步

典型的一次I/O的两个阶段是什么?
数据准备 和 数据读写

我们作为服务器,接收客户端的请求,得先监听客户端有没有数据过来,这是一个状态,还有就是数据过来了该怎么去读写,这又是一个状态

实际上,阻塞,非阻塞,同步,异步, 分别是这两种状态下的体系

1、网络I/O阶段1:数据准备

数据准备: 根据系统IO操作的就绪状态
阻塞 : 让调用I/O的线程进入阻塞状态 ,数据准备好了就唤醒
非阻塞: 不会改变线程的状态,通过返回值判断

1.1、阻塞

sockfd相当于就是系统的文件描述符,代表1个I/O,创建的时候默认是阻塞;

当我调用1个

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

liufeng2023

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

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

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

打赏作者

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

抵扣说明:

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

余额充值