NIO中的易筋经 (2)

BIO主要的问题在于每当有一个新的客户端请求接入时,服务端必须创建一个新的线程来处理这条链路,在需要满足高性能、高并发的场景是没法应用的(大量创建新的线程会严重影响服务器性能,使用线程池也是存在问题,如果发生大量并发请求,超过最大数量的线程就只能等待,会一直阻塞)

单线程模型

NIO中的易筋经

单线程模型会存在如果链接太多,性能可能无法满足,而且如果nio线程出现意外啥的会影响这个系统不可用。

多线程模型

NIO中的易筋经

多线程模型一般场景都满足了,但是在特别高的并发,以及一些非常消耗性能的验证等,会存在一些不足之处。

主从多线程模型

NIO中的易筋经

主从多线程模型,通过mainReactor线程、subReactor线程继续拆分,mainReactor线程负责一些客户端TCP连接请求预处理(验证等),subReactor线程处理真正的IO。

参考:

结束语

本人水平有限,难免会有一些理解偏差的地方,如果发现,欢迎各位积极指出,感谢!!!

如果读完觉得有收获的话,欢迎点赞、关注、加公众号【匠心零度】,查阅更多精彩历史!!!

NIO中的易筋经

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpyysy.html