1
這裏是我的代碼示例,正如我在標題中所說的,當併發級別較高時,isWritable()返回的false很多。netty channel.iswritable()在併發級別高時返回false
if (channel.isWritable()) {
ChannelFuture future = channel.writeAndFlush(data);
if (future.cause() != null) {
data.release();
throw new IOException(future.cause().toString());
}
future.addListener(writeCallback);
}
我希望有人能夠解釋爲什麼發生這種情況就導致我所知,它發生了,當我寫但不刷新就那麼緩衝區大小增加到超過WRITE_BUFFER_HIGH_WATER_MARK規模。但正如你所看到的,我使用writeAndFlush(),所以我不明白哪裏錯了?
當cpu太忙時,會發生這種情況,它會在刷新緩衝區之前寫入太多消息嗎?
希望有人能幫助我,謝謝!
謝謝,這很有道理! –