吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1161|回复: 8
收起左侧

[求助] java功能思路求助

[复制链接]
wei565330 发表于 2021-10-19 14:36
各位大哥们,小弟有这么一个问题,假如给你一个列表数据 然后每个里都有一个结束时间 ,判断每个数据的结束时间到了之后(实时),然后其他做处理,哪位大哥做个这样的功能,可以给提一个思路吗?

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

cy3329520 发表于 2021-10-19 15:26
如果是类似秒杀那种,可以用消息队列的延时消息处理,数据创建时发送一条延时消息,到时间后再处理逻辑。
还有就是定时器了
 楼主| wei565330 发表于 2021-10-19 15:56
cy3329520 发表于 2021-10-19 15:26
如果是类似秒杀那种,可以用消息队列的延时消息处理,数据创建时发送一条延时消息,到时间后再处理逻辑。
...

谢谢哥,但是我还有一个疑问就是,怎么才能实时的知道这个消息是否结束了?因为他是一个列表,列表里面可能有多个消息,每个消息都有不同的结束时间    是要开启一个线程一直运行着吗?
泽樟 发表于 2021-10-19 16:16
凡繁烦 发表于 2021-10-19 16:27
实用消息队列处理,或者用redis
fu520 发表于 2021-10-19 16:58
wei565330 发表于 2021-10-19 15:56
谢谢哥,但是我还有一个疑问就是,怎么才能实时的知道这个消息是否结束了?因为他是一个列表,列表里面可能有 ...

如果每个消息的过期时间都不一样,只能开定时器了
跑啊跑啊跌倒 发表于 2021-10-19 17:13
写个线程每0.5秒循环一次的读这个列表,发现谁结束了就调用处理方法对其处理,从集合里移除他,集合为空线程结束
VioletKiss 发表于 2021-10-19 17:20
java延迟队列DelayQueue,你去了解下完全可以满足你的要求
cy3329520 发表于 2021-10-19 17:44
wei565330 发表于 2021-10-19 15:56
谢谢哥,但是我还有一个疑问就是,怎么才能实时的知道这个消息是否结束了?因为他是一个列表,列表里面可能有 ...

延时消息队列就是处理这种情况的,数据创建时就知道什么这条数据的结束时间,拿结束时间距离当前时间,就可以得到延时的时间,相当于倒计时,倒计时结束后触发消息队列处理逻辑
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 21:30

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表