10-Netty 高性能架构设计-任务队列(普通任务, 定时任务)

本文介绍了Netty中TaskQueue任务队列的设计,针对用户自定义的普通任务和定时任务提供了解决方案。在处理耗时业务时,避免阻塞事件循环,将任务提交到NioEventLoop的taskQueue中异步执行。实验表明,普通任务与定时任务并存时,执行时间按各自设定的时间依次完成。Netty的NioEventLoopGroup包含多个串行化的NioEventLoop,每个EventLoop拥有一个Selector和TaskQueue,确保高效地处理网络读写操作。

TaskQueue 任务队列

任务队列中的Task有三种典型使用场景

  1. 用户程序自定义的普通任务 [举例说明]
  2. 用户自定义定时任务
  1. 非当前Reactor线程调用Channel的各种方法
    1. 例如在推送系统的业务线程里面, 根据用户的标识, 找到对应的Channel引用,然后调用Write类方法向该用户推送消息, 就会进入到该场景,最终的write会提交到任务队列中后被异步消费

问题

如果在读取或者操作时碰到非常耗时的业务, 那么他就会阻塞

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值