BIO NIO AIO有什么区别?

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

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

适用场景:

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

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

适用场景:

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

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

适用场景:

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

相关推荐
小坏讲微服务21 分钟前
刚发布一个月的JDK 27,为什么我建议你立刻升级?
java·开发语言·spring boot·spring·架构·求职招聘·springboot4
kunicoding36 分钟前
多线程编程核心概念详解:从线程基础到并发安全
java·jvm·安全
snow@li1 小时前
SpringBoot:核心注解全景梳理 / @xxx 叫“注解”(Annotation)
java·spring
devilnumber1 小时前
避坑_IDEA 提取方法(Extract Method)工具
java·ide·intellij-idea
鬼手点金1 小时前
Agent 的学习机制:后训练、上下文学习与外部化学习
java·人工智能·git·学习·自动化·nanogpt
小陈不好吃1 小时前
equals 与 hashCode 的契约关系:从 HashMap 到 Lombok 注解
java·hashmap·lombok
xiaogai_gai2 小时前
金蝶收料通知单查询策略实战教程:从源系统拉取到中间层落地的完整路径
java·前端·数据库
打工仔折腾 AI2 小时前
用 Dashlet 把极空间 NAS 服务入口整理成统一导航首页的实践
java·开发语言·人工智能·后端·python·rpc·ai agent 实战
MATLAB代码顾问2 小时前
Simulink PI 参数扫描与批量仿真完整 MATLAB 代码
开发语言·matlab
Want5952 小时前
Python跳动的爱心②
开发语言·python·数学建模