07-三种IO模型对比

nobility 发布于 2021-08-14 2760 次阅读


三种IO模型对比

BIO:若不使用线程池,就会导致每个连接都会创建一个新的线程,直到服务器崩溃;若使用线程池控制线程数量,就会导致并发数量的减少,后续连接只能等待前面连接处理完毕后才能进行;所以适用于连接数目少,服务器资源相对多,开发难度低的场景

NIO:全部请求都在单一线程中执行(也可以结合多线程实现NIO模型),但是若前一个请求的任务长时间不完成,就会导致后续任务只能等待;所以适用于连接数目多,但是任务执行时间短,开发难度较高的场景

AIO:对于请求的处理是在异步回调中执行,异步回调是在另一个线程中执行,增加了线程的数量从而减少了任务的阻塞时间;所以适用于连接数目多,任务执行时间长,开发难度高的场景

此作者没有提供个人介绍
最后更新于 2021-08-14