Netty3事件处理顺序问题
发布日期:2021-05-08 10:59:00 浏览次数:11 分类:原创文章

本文共 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 可以实现这个需求。

参考链接
  

上一篇:使用npm时遇到Error: Invalid protocol
下一篇:【测试】嵌入式软件测试VS一般软件测试

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2025年03月19日 00时35分17秒