任务定义器——SocketProcessor
来源:互联网 发布:java 集合有哪些 编辑:程序博客网 时间:2024/06/08 17:31
将socket扔进线程池前需要定义好任务,要进行哪些逻辑处理由SocketProcessor定义,根据线程池的约定,作为任务必须扩展Runnable。用如下伪代码表示
protected class SocketProcessor implements Runnable {
public void run() {
对socket进行处理并输出响应报文;
连接数计数器减一腾出通道;
关闭socket;
}
}
任务主要分为三点:处理socket并相应客户端、连接数计数器减一、关闭socket。其中对socket的处理是最重要也是最复杂的,它包括对底层socket字节流的读取、http协议请求报文的解析(请求行、请求头、请求体等信息的解析)、根据请求行解析得到路径去寻找相应主机上web项目的资源、根据处理的结果组装好http协议响应报文输出到客户端。此部分是web容器的核心,往下将一一剖析。引入任务定义器后整个模块变为如下:
喜欢研究java的同学可以交个朋友,下面是本人的微信号:
0 0
- 任务定义器——SocketProcessor
- Tomcat NioEndpoint的SocketProcessor
- 十一周任务—项目一(定义点类)
- tsm 定义计划任务
- 定义多线程任务
- 定义数据挖掘任务
- 快捷的任务定义
- 任务管理系列--------任务的定义
- 动态定义quartz定时任务
- Ant内置任务——打包任务
- 任务执行器——Executor
- 工作流引擎设计之取回任务定义
- 工作流引擎设计之退回任务定义
- java定义简单的定时任务
- Spring中通过注解定义定时任务
- spring中如何定义定时任务
- thinkphp 通过“命令模式” 定义计划任务
- systemd——定义
- c++类成员函数指针
- 第39天: UDF函数 user defined function
- 小马哥-----高仿红米note刷机 主板m8207 各个日期机型主板图 分移动版与联通版区别,而且要对应主板日期版本
- CyclicBarrier - jdk1.5并发包
- SDNU1061.采药3【二维费用背包】
- 任务定义器——SocketProcessor
- Android Volley完全解析(二),使用Volley加载网络图片
- java基础<四>
- linux 中真正的后台进程
- Sicily 2011 Nine Digits
- 三层总结
- 九度OJ题目1054:字符串内排序
- 使用Jmeter进行 restful 压力测试
- Doing Homework again