BIO、NIO和AIO对比:
1. 应用场景:
模型 | 适用场景 |
---|---|
BIO | 连接数少和连接时间短的场景 |
NIO | 连接数多和连接时间短的场景 |
AIO | 连接数多和连接时间长的场景 |
2. 同步和阻塞情况对比
模型 | 同步和阻塞情况 |
---|---|
BIO | 同步阻塞,类似一个人守一个水壶 |
NIO | 同步非阻塞,类似一个人守多个水壶 |
AIO | 异步非阻塞,类似无人守水壶,水烧开会自动通知 |
3. 同步和异步,阻塞和非阻塞概念
概念 | 解释 |
---|---|
同步 | 访问一个资源时,需要等待进程去处理资源,然后等待响应 |
异步 | 访问一个资源时,立马接收响应。等进程处理完资源后,再利用回调函数处理资源 |
概念 | 解释 |
---|---|
阻塞 | 访问一个资源时,不能立马访问另一个资源 |
非阻塞 | 访问一个资源时,可以立马访问下一个资源 |