BIO NIO AIO有什么区别?

通俗易懂地解释这些东西是我的风格,

BIO就是阻塞io,就是一个程序在发出io请求之后不能干任何别的事,只能等待请求,不断检测io的状态,只有接受到反馈之后才能干别的事

适用场景:

用作请求少而且连接时间短的情况

NIO就是非阻塞,也就是没有阻塞,怎么没有阻塞了?说白了就是发出io请求之后立即响应,然后程序就不用等待了,这就是非阻塞io

适用场景:

用作请求多但是请求连接时间短

AIO,也就是异步io,说白了,就是程序发出io请求之后,就啥也不用管了,做自己的事情,一切由操作系统进行负责,这就是异步io

适用场景:

用做请求多而且连接时间长的场景

相关推荐
人间凡尔赛4 小时前
Next.js 16 生产级实战:Cache Components + View Transitions 完整指南
开发语言·javascript·ecmascript
架构源启4 小时前
文档接入与智能解析:基于 Spring AI 1.1.x 的多格式解析、版面理解与结构化抽取
java·人工智能·spring
稚南城才子,乌衣巷风流7 小时前
函数:编程中的核心概念
开发语言·前端·javascript
阿米亚波7 小时前
【C++】流式数据输入处理(不完全整理)
开发语言·c++·笔记
大模型码小白8 小时前
JAVA 集合框架进阶:List 与 Set 的深度解析与实战
java·开发语言·人工智能·windows·语言模型·list·ai编程
名字还没想好☜9 小时前
Go 的 time.Ticker 陷阱:定时任务里被忽略的内存泄漏与正确关闭
java·数据库·golang·go·定时器
皓月斯语9 小时前
【C++基础】三目运算符
开发语言·数据结构·c++
音符犹如代码9 小时前
后端视角看 EventBus:发布订阅总线的原理、场景与用法
java·spring boot·guava
前端炒粉9 小时前
手撕小汇总
java·前端·javascript
初願致夕霞9 小时前
C++懒汉单例设计详解
服务器·开发语言·c++