采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
BIO的第一阶段是请求系统,然后线程挂起;NIO是类似自旋一样不断主动询问系统是否准备好返回数据,那其实相当于第一阶段请求的线程都没有去做这个请求之外的事情,而且NIO的主动询问还占用cpu的时间片,还不如BIO的第一阶段,我这样理解的误区在哪
同学好,nio不一定都是在那等着循环查看是否有数据返回,可以是callback或者线程提交请求后先去忙别的,过一段时间再来看是否有数据返回,从整体上来说不阻塞线程的运行
callback或者线程提交请求后先去忙别的,过一段时间再来看是否有数据返回----------这个不是nio和aio的区别么,怎么nio也可以这样?那这样aio和nio的区别不就只是有无selector和nio全部都是用callback而已,这样和nio其实差不多啊?
不是呢,nio是需要自己在忙别的事情的时候,定时挂起回来轮询一下是否ready,也就是用户线程需要主动查询,而aio让内核系统完成,用户线程只需要告诉内核,当缓冲区就绪后,通知我或者执行我交给你的回调函数
非常感谢!
登录后可查看更多问答,登录/注册
招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航
2.2k 27
3.3k 22
1.7k 15
1.9k 14
1.6k 14
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号