5.Utm线程模型
2016-03-28 10:17
197 查看
Utm线程模型
游客请求和用户请求分别调用UserThreadModeFilter的handleVisitorRequest和handleUserRequest方法,之后再调用各自的过滤器(在UserThreadMode实例化时传入)处理。
默认的游客处理器:VisitorRequestFilterNotQueue:并没有采取队列的形式,直接调用线程池去处理请求。
默认的用户请求处理器:RequestFrequentFilter:将消息放入用户的qtm任务队列中,并触发qtm线程去处理请求;该Filter还会过滤用户频繁的请求( minGap毫秒内超过ringSize个请求,而且违反次数超过illegalMax次,则会认定请求过于频繁)(更详细说明可以查看该类的说明)
如下图,用户线程池为ExcutorService1,游客线程池为ExcutorService2,默认情况下两个使用的其实是同一个线程池,既:ExcutorService1= ExcutorService2,如需要修改,可以调用UserThreadMode的最基本的构造方法(该构造方法由开发者指定游客过滤器和用户过滤器(可以为其指定不同的线程池),其他的构造方法会尝试帮用户构建部分的内容,使得使用起来更加的方便)或者继承重写UserThreadMode的构造方法。
Utm对于用户任务队列的长度并没有限制,而执行线程池ExcutorService是会有长度限制的,utm使用的线程池必须继承LimitedUnboundedThreadPoolExecutor,该类的构造函数参数limitedQueueSize就是队列长度的限制,实际执行中有可能超过该长度,因为utm不会尝试抛弃重要的请求(用户退出、断线等IRequestHandler.isLimited返回false的处理器),但是如果是普通的请求,则当队列满的时候会调用该处理器的queueFull方法(建议只做简单处理,因为服务器队列满往往意味着已经不堪重负了(也有可能是队列长度和线程数量没有设置好,导致无法发挥服务器的处理能力))。
1.Utm简介
2. Utm 模块设计
3. Utm详细实现-用户生命流程
4. Utm详细实现-用户资源管理
5.Utm线程模型
6. Utm示例-公共部分
7. Utm示例-SmartFoxServer集成
8. Utm示例-Netty集成
9.(1.0.2版本更新)用户队列管理 与 用户异常处理
游客请求和用户请求分别调用UserThreadModeFilter的handleVisitorRequest和handleUserRequest方法,之后再调用各自的过滤器(在UserThreadMode实例化时传入)处理。
默认的游客处理器:VisitorRequestFilterNotQueue:并没有采取队列的形式,直接调用线程池去处理请求。
默认的用户请求处理器:RequestFrequentFilter:将消息放入用户的qtm任务队列中,并触发qtm线程去处理请求;该Filter还会过滤用户频繁的请求( minGap毫秒内超过ringSize个请求,而且违反次数超过illegalMax次,则会认定请求过于频繁)(更详细说明可以查看该类的说明)
如下图,用户线程池为ExcutorService1,游客线程池为ExcutorService2,默认情况下两个使用的其实是同一个线程池,既:ExcutorService1= ExcutorService2,如需要修改,可以调用UserThreadMode的最基本的构造方法(该构造方法由开发者指定游客过滤器和用户过滤器(可以为其指定不同的线程池),其他的构造方法会尝试帮用户构建部分的内容,使得使用起来更加的方便)或者继承重写UserThreadMode的构造方法。
Utm对于用户任务队列的长度并没有限制,而执行线程池ExcutorService是会有长度限制的,utm使用的线程池必须继承LimitedUnboundedThreadPoolExecutor,该类的构造函数参数limitedQueueSize就是队列长度的限制,实际执行中有可能超过该长度,因为utm不会尝试抛弃重要的请求(用户退出、断线等IRequestHandler.isLimited返回false的处理器),但是如果是普通的请求,则当队列满的时候会调用该处理器的queueFull方法(建议只做简单处理,因为服务器队列满往往意味着已经不堪重负了(也有可能是队列长度和线程数量没有设置好,导致无法发挥服务器的处理能力))。
1.Utm简介
2. Utm 模块设计
3. Utm详细实现-用户生命流程
4. Utm详细实现-用户资源管理
5.Utm线程模型
6. Utm示例-公共部分
7. Utm示例-SmartFoxServer集成
8. Utm示例-Netty集成
9.(1.0.2版本更新)用户队列管理 与 用户异常处理
相关文章推荐
- javascript制作游戏开发碰撞检测的封装代码
- Android游戏开发实践之人物移动地图的平滑滚动处理
- 8.Utm示例-Netty集成
- 3.Utm详细实现-用户生命流程
- 2.Utm-模块设计
- 4.Utm详细实现-用户资源管理
- 6.Utm示例-公共部分
- 51CTO学院免费技术公开课9月份最新课表
- 网站开发流程以及HTML5简介(九)
- 《阴阳师》刷成“爆款” 阴阳才是成功的第五元素
- 购买李宁Cocos2d-x套餐,送最新出的《Cocos2d-x游戏实战指南》签名书一本
- 数学与物理故事相关链接
- CocosCreator手记02——Examples中文注释目录
- 从虚幻4动画系统与控制器交互理解数据驱动(一)古老的写法
- H5游戏开发框架排名
- 代码编译总结
- 80多岁的她自学编程开发手游 曾参加苹果开发者大会
- 【码云周刊第 42 期】Unity 开发看这些就够了!
- 在unity使用ScriptableObject制作配置文件