复杂业务定时器算法经验

在定时算法中尽量采用一个定时器,轮询不同的定时需求。

例子:

各家商户的订单,需要设置不同的订单超时时间。

一般做法是每个订单都生成一个相应超时时间的定时器,定时器到了后自动超时。但是同时多个定时器,这样会造成内存占用太多。

建议:

只生成一个定时器(以秒为单位),可以将多个商户的订单分成不同的队列,设置队列id和队列超时时间,定时器去轮询所有的队列,如果订单生成时间加上超时时间超过当前时间即为超时。

posted @ 2019-04-24 10:48  纸鸢&红豆·绿豆  阅读(274)  评论(0编辑  收藏  举报