1、JDK NIO的OP_WRITE事件处理不对,很容易发生“无限”循环的问题!
2、在网络不给力的情况下,往处于非阻塞模式下的连接上调用写方法容易导致CPU被浪费,服务器性能会陡然下降!
首先,知道JDK NIO的OP_WRITE事件何时会被触发,前提是必须在注册了Channel的I/O多路复用器上注册了OP_WRITE事件,之后该连接上:
1、Socket的缓冲区有空闲位置
2、对端关闭了该连接
3、该连接自己内部出现了错误
发生以上三个场景,都可以触发I/O多路复用器上注册的写事件。
参考博客地址:恶劣的网络环境下,Netty是如何处理写事件的?
本文探讨了JDKNIO中OP_WRITE事件可能导致的无限循环问题及网络不稳定时对服务器性能的影响。当Socket缓冲区有空闲位置、对端关闭连接或连接内部错误时,OP_WRITE事件可能被触发。在恶劣网络环境下,如何有效处理写事件对Netty等高性能网络库至关重要,避免浪费CPU资源并维持服务器稳定运行。
1914

被折叠的 条评论
为什么被折叠?



