linux下tomcat nio 底层源码调用系统函数处理流程

linux tomcat使用nio处理请求 调用jvm native C++ 底层调用系统函数源码原理

##Acceptor接受socket

socket = endpoint.serverSocketAccept();

##NioEndpoint   serverSock.accept()

##ServerSocketChannelImpl   n = accept(this.fd, newfd, isaa);

##ServerSocketChannelImpl accept0

##native accept0方法 在jvm 底层实现

接受客户端的请求

##接收socket 给poller的selector

##添加事件

##读写事件 取消事件cancelledKey

##取消事件

##消费取消事件

##从epoll红黑树删除

##socket 连接 关闭 修改事件

##poller 线程从队列取出PollerEvent,通过调用ctl 添加到linux红黑树

##添加事件

##读写事件

##EPoll.wait拿到需要读写的SelectionKey , 将需要处理SelectionKey添加到selector.selectedKeys

##poller selector迭代selectionKey读写事件

##调用native方法fd添加到epoll红黑树

##EPoll native 方法

##EPoll native 方法在jvm c实现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值