gaobing

gaobing

V2EX 第 378474 号会员,加入于 2019-01-18 18:29:40 +08:00
根据 gaobing 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
gaobing 最近回复了
@siweipancc 是的,分场景。这个项目也不会去对标调度框架,而是解决对分布式定时任务的需求不复杂的场景,能够使用熟悉的 @Scheduled 注解快速实现需求。
@wolfie 是会增强所有的,下个版本会更新下,可以取消增强
@pkwenda key 不是随机的,同一个周期计算得到的是固定的值,这样通过 key 就保证了加的锁只锁定当前周期,不会因为时间的误差而影响到下个周期定时任务的执行,你可以执行下这段代码看下 nextTime 的计算结果:
```java
@Test
public void testNextTime() throws Exception {
CronSequenceGenerator c = new CronSequenceGenerator("0/5 * * * * ?");
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.sss");
for (int i = 0; i < 100; i++) {
Date now = new Date();
long nextTime = c.next(now).getTime();
System.out.println(format.format(now) + " 的 nextTime 为:" + nextTime);
Thread.sleep(1000);
}
}
```
我执行的结果:
2022-09-05 10:52:11.011 的 nextTime 为:1662346335000
2022-09-05 10:52:12.012 的 nextTime 为:1662346335000
2022-09-05 10:52:13.013 的 nextTime 为:1662346335000
2022-09-05 10:52:14.014 的 nextTime 为:1662346335000
2022-09-05 10:52:15.015 的 nextTime 为:1662346340000
2022-09-05 10:52:16.016 的 nextTime 为:1662346340000
2022-09-05 10:52:17.017 的 nextTime 为:1662346340000
2022-09-05 10:52:18.018 的 nextTime 为:1662346340000
2022-09-05 10:52:19.019 的 nextTime 为:1662346340000
2022-09-05 10:52:20.020 的 nextTime 为:1662346345000
2022-09-05 10:52:21.021 的 nextTime 为:1662346345000
2022-09-05 10:52:22.022 的 nextTime 为:1662346345000
2022-09-05 10:52:23.023 的 nextTime 为:1662346345000
2022-09-05 10:52:24.024 的 nextTime 为:1662346345000
2022-09-05 10:52:25.025 的 nextTime 为:1662346350000
2022-09-05 10:52:26.026 的 nextTime 为:1662346350000
2022-09-05 10:52:27.027 的 nextTime 为:1662346350000
感谢以上各位的 star 。
@potatowish 多个实例的启动时间虽然不一样,但在一个定时任务的周期内,计算出来的 nextTime 其实是一样的。之所以加这种带 nextTime 周期的锁,是因为用不带 nextTime 分布式锁的话,一个实例执行完当前周期的定时任务后就会释放锁,别的实例因为线程池队列已满等一些原因的话,导致定时任务运行稍晚,此时分布式锁已经被释放,就会重复执行当前周期的定时任务。
103 天前
回复了 kldd529 创建的主题 生活 重复的生活是幸运还是悲哀
不幸中的万幸
104 天前
回复了 LINEX 创建的主题 职场话题 苏州找工作有感
服务器开发,我还以为指令集设计 /服务器底层开发的。。。
107 天前
回复了 monetto 创建的主题 Python Python 如何监听 List 长度
159 天前
回复了 equationl 创建的主题 程序员 关于付费 APP 加密方式的一些疑问
单机版 APP 吗?可以结合服务端进行设置。
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2251 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 19ms · UTC 16:32 · PVG 00:32 · LAX 08:32 · JFK 11:32
Developed with CodeLauncher
♥ Do have faith in what you're doing.