當前位置:編程學習大全網 - 網站源碼 - netty message received 是多線程嗎

netty message received 是多線程嗎

壹般情況下,netty 做server,接收請求並處理時,會在messageReceived()阻塞,為了達到多線程處理,我使用了ExecutionHandler,但發現,

在NioWorker的read(SelectionKey k)方法中

if (readBytes > 0) {

bb.flip();

final ChannelBufferFactory bufferFactory =

channel.getConfig().getBufferFactory();

final ChannelBuffer buffer = bufferFactory.getBuffer(readBytes);

buffer.setBytes(0, bb);

buffer.writerIndex(readBytes);

recvBufferPool.release(bb);

// Update the predictor.

predictor.previousReceiveBufferSize(readBytes);

// Fire the event.

fireMessageReceived(channel, buffer);

} else {

recvBufferPool.release(bb);

}

if (ret < 0 || failure) {

k.cancel(); // Some JDK implementations run into an infinite loop without this.

close(channel, succeededFuture(channel));

return false;

}

  • 上一篇:活力騎士如何免費獲得道家活力騎士?
  • 下一篇:如何在ppt中設置相對路徑
  • copyright 2024編程學習大全網