Jetty学习笔记(三)--BIO方式接收请求

      现在主要讲一下Jetty在处理Connector的策略。先上张图再说吧。这里以BIO为例子来说。

      这个图就比(二)中的简单多了。前面还是初始化线程池,就不多说了

1.       初始化SocketConnector,每个SocketConnector相当于一个连接,所以初始化的时候并不会只是初始化一个,会初始化多个。

2.       new 一个ServerSocket,这里有一个处理策略的问题,并不是直接就accept了。会有一个内部类Acceptor做为转接,然后把实例化的ServerSocket放到Acceptor对象中。AcceptorAbstractConnector中的一个内部类,实现了Runnable,所以可以直接作为一个任务丢到线程池中去处理。run方法也特别有意思,回调了SocketConnector中的accept法(其实这里accept方法并不会在调用QueuedThreadPool启动线程也就是调用run方法的周期中,为了直观就这样画了),所以看起来会有点绕,Acceptor相当于中转,这样就不会使Connector太重,生命周期太长。这种设计也值得学习。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值