异步AIO这块疑问

来源:8-4 服务器端实现(第二回合)

慕码人3264447

2019-12-09

异步AIO这块,Sever端调用了accept以后,为啥需要在while里面,调用Accept会触发服务器底层什么操作呢?同时为什么在handler里面还需要调用accept,不是已经在while循环中调用了一次么

写回答

1回答

kaluroro

2019-12-16

我的理解,不一定对。 accept之后,线程就会一直阻塞在system.in.read()这里。加个while(ture)循环是为了防止万一阻塞解除了还是回到accept,而不至于执行finnaly里的close。 所以accept完成后,在它的complitionhandle里,还需要再来一个accept,服务器才可以接受下一个连接请求。 如果accept只调用一次就只能接受一个连接请求。
0
0

系统学习Java网络编程 深度理解BIO/NIO/AIO

对比式学习助你真正理解BIO/NIO/AIO三大网络编程模型。

880 学习 · 148 问题

查看课程