netty如何执行多个定时任务

蝉沐风的码场 2021-01-23 01:02:14
服务器端使用的netty,背景如下:

每个设备下挂载多个设备节点,每个设备节点的数据需要通过服务器和设备之间的指令下发和回复完成,
例如:设备A001下有温度、湿度、大气压三个参数,设备和服务器建立连接后,服务器需要需要主动下发温度指令得到设备关于温度数值的回复,然后下发湿度指令得到设备湿度的回复(指令顺序不一定)

现在需要客户自定义每个节点的数据获取周期,如温度每隔20S获取一次,湿度每隔30S获取一次。。。。。。


目前的思路是每个节点一个定时器,但感觉这样太费性能了

请各路大神提供一下思路,更好的情况下,需要考虑到设备较多(以及设备节点较多)的情况
...全文
413 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
蝉沐风的码场 2021-01-23
  • 打赏
  • 举报
回复
但是如果设备太多,节点太多,总不能每个节点都要一个定时器吧
foralllove 2021-01-23
  • 打赏
  • 举报
回复
如果必须要服务定时的话,只能写一个执行器不断检测当前秒需要得到温度的设备列表,然后仍入任务队列 由线程池执行指令下发。 30s就相当于将设备分为30个队列 ,map 有30key。
foralllove 2021-01-23
  • 打赏
  • 举报
回复
这种情况一般是设备自己主动设个定时发送任务吧,然后时间配置可以有服务下发配置和启动

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧