博客
关于我
Netty3事件处理顺序问题
阅读量:376 次
发布时间:2019-03-05

本文共 602 字,大约阅读时间需要 2 分钟。

对整个线程池而言,处理同一个Channel的事件,必须是按照顺序来处理的
例如:

Thread X: --- Channel A (Event A1) --.   .-- Channel B (Event B2) --- Channel B (Event B3) --->                                      \ /                                       X                                      / \Thread Y: --- Channel B (Event B1) --'   '-- Channel A (Event A2) --- Channel A (Event A3) --->

上图表达的意思有几个:

  1. 对整个线程池而言,处理同一个Channel的事件,必须是按照顺序来处理的。例如,必须先处理完Channel A (Event A1) ,再处理Channel A (Event A2)、Channel A (Event A3)。
  2. 同一个Channel的多个事件,会分布到线程池的多个线程中去处理。
  3. 不同Channel的事件可以同时处理(分担到多个线程),互不影响。
    OrderedMemoryAwareThreadPoolExecutor 可以实现这个需求。

参考链接
  

转载地址:http://mjtwz.baihongyu.com/

你可能感兴趣的文章
SDWebImage--http图片加载不出来的问题
查看>>
Application received signal SIGSEGV
查看>>
MySQL删除数据库时的错误(errno: 39)
查看>>
Win10 JDK配置环境变量以及为什么需要配置每部分的原因
查看>>
ubuntu学习笔记-常用文件、命令以及作用(hosts、vim、ssh)
查看>>
SLAM学习笔记-求解视觉SLAM问题
查看>>
普歌-允异团队-HashMap面试题
查看>>
还在一个一个手动安装虚拟机吗?Cobbler自动部署装机一键最小化安装打把游戏就好了
查看>>
Windows下Python安装与使用
查看>>
程序员应该知道的97件事
查看>>
我编程,我快乐—程序员职业规划之道
查看>>
Web基础应用 NFS服务基础 触发挂载
查看>>
create-react-app路由的实现原理
查看>>
PSI值
查看>>
海思Hi3531DV100开发环境搭建
查看>>
JavaScript上传下载文件
查看>>
Linux驱动开发之PCIe Host驱动
查看>>
Vue.js Element Basic组件使用
查看>>
android 头像选择,裁剪全套解决方案,你值得拥有!
查看>>
MapReduce
查看>>