BIO NIO AIO有什么区别?

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

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

适用场景:

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

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

适用场景:

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

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

适用场景:

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

相关推荐
架构师沉默13 小时前
AI 真的会取代程序员吗?
java·后端·架构
Memory_荒年14 小时前
ReentrantLock 线程安全揭秘:从“锁”到“重入”的魔法
java·后端·源码
L0CK14 小时前
秒杀异步下单业务逻辑梳理
java
zuoerjinshu14 小时前
【spring专题】编译spring5.3源码
java·后端·spring
JavaGuide14 小时前
鹅厂面试:SELECT * 一定导致索引失效?常见索引失效场景有哪些?
java·数据库·后端·mysql·大厂面试
qq_2320455714 小时前
精积微半导体面试(部分)
netty·策略模式·nio·内存抖动·threadlocal·bitmap·复用
是梦终空11614 小时前
C++中的职责链模式变体
开发语言·c++·算法
mjhcsp14 小时前
C++遗传算法(Genetic Algorithm,GA):进化式全局优化的核心解析
开发语言·c++
QuZero14 小时前
Java `volatile` and Memory Model
java·jvm
me83214 小时前
【Java】解决Maven多模块父POM加载失败+IDEA无法新建Java类问题
java·maven·intellij-idea