NIO和AIO的区别在什么地方

来源:7-12 NIO服务器Thread优化-6

慕粉13841445612

2020-10-02

老师请问,这里面的NIO模型+回调方法使用线程池完成异步操作,和用AIO模型的区别在什么地方,AIO中不是可以CompletionHandler的方式完成异步操作吗

写回答

1回答

Qiujuer

2020-10-09

NIO、AIO的最大区别在于事件的发生不一样。

NIO可以简单理解为需要一个线程去查询所有的就绪状态,这也是课程有一个特别的线程去调用select方法的结果。这个线程会查询所有关注的链接,是否有链接已经就绪了,有就加入队列,然后返回,并进行对应的轮训处理就绪事件等。


而AIO则是自发性的,可以理解为当一个就绪的时候其会自己触发回调,并处理数据,这也就是CompletionHandler回调的作用。


0
2
Qiujuer
回复
陈佳凯
AIO的确很强大,但其实没啥讲的,因为系统都封装好了,我们只需要丢异步任务即可;整体来说可玩性比较低一些。
2022-08-30
共2条回复

Socket网络编程进阶与实战 系统掌握Socket核心技术

理论+实践,系统且深入掌握Socket核心技术,从容应对各种Socket应用场景的不二之选

2314 学习 · 476 问题

查看课程