多线程定时任务怎么实现

weixin_39217544 2020-04-29 02:05:32
最近在做座位预约,用户需要临时离开,离开后1个小时之内必须回来,后台用的是springboot 这样的业务场景要怎么样实现。
...全文
230 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
如果轻量级实现,可以简单如下:

public static void main(String[] args) {
        System.out.println("离开时,执行如下代码");
        ScheduledExecutorService durationTimer = Executors.newSingleThreadScheduledExecutor();
        durationTimer.schedule(new Runnable() {
            @Override
            public void run() {
                System.out.println("3600秒后,会触发这里,检查人有没有回来");
            }
        },3600, TimeUnit.SECONDS);
    }
weixin_39217544 2020-05-13
  • 打赏
  • 举报
回复
引用 2 楼 臭小子帅的回复:
插个眼,有答案了告诉我下
用死信队列可以实现
戎码一生灬 2020-05-13
  • 打赏
  • 举报
回复
引用 2 楼 臭小子帅 的回复:
插个眼,有答案了告诉我下


专业拔眼100年
程序员张同学 2020-05-13
  • 打赏
  • 举报
回复
ThreadPoolTaskScheduler
RockeyCui 2020-05-13
  • 打赏
  • 举报
回复
1.用户点击离开新建一个延迟任务,1小时内用户未回来,释放座位

or

2.用户点击离开发送一个延迟队列消息,1小时内用户未回来,自然释放座位,一小时内用户回来了,撤销队列消息或者自己业务处理
weixin_39217544 2020-05-13
  • 打赏
  • 举报
回复
引用 9 楼 臭小子帅的回复:
[quote=引用 8 楼 weixin_39217544 的回复:] [quote=引用 7 楼 臭小子帅的回复:][quote=引用 6 楼 weixin_39217544 的回复:] [quote=引用 2 楼 臭小子帅的回复:]插个眼,有答案了告诉我下
用死信队列可以实现[/quote] 详细说说思路[/quote] rabbitmq的死信队列,设置队列的过期时间,到指定的时间在对消息进行指定的操作[/quote] 这么搞也可以,到期的时候去执行业务逻辑[/quote] 是的
臭小子帅 2020-05-13
  • 打赏
  • 举报
回复
引用 8 楼 weixin_39217544 的回复:
[quote=引用 7 楼 臭小子帅的回复:][quote=引用 6 楼 weixin_39217544 的回复:] [quote=引用 2 楼 臭小子帅的回复:]插个眼,有答案了告诉我下
用死信队列可以实现[/quote] 详细说说思路[/quote] rabbitmq的死信队列,设置队列的过期时间,到指定的时间在对消息进行指定的操作[/quote] 这么搞也可以,到期的时候去执行业务逻辑
weixin_39217544 2020-05-13
  • 打赏
  • 举报
回复
引用 7 楼 臭小子帅的回复:
[quote=引用 6 楼 weixin_39217544 的回复:] [quote=引用 2 楼 臭小子帅的回复:]插个眼,有答案了告诉我下
用死信队列可以实现[/quote] 详细说说思路[/quote] rabbitmq的死信队列,设置队列的过期时间,到指定的时间在对消息进行指定的操作
臭小子帅 2020-05-13
  • 打赏
  • 举报
回复
引用 6 楼 weixin_39217544 的回复:
[quote=引用 2 楼 臭小子帅的回复:]插个眼,有答案了告诉我下
用死信队列可以实现[/quote] 详细说说思路
臭小子帅 2020-05-12
  • 打赏
  • 举报
回复
插个眼,有答案了告诉我下
  • 打赏
  • 举报
回复
任务定时调度:
QUARTZ框架包括:
1. Scheduler:调度器,控制所有的调度
2. Trigger:触发条件
3. JobDetail:需要处理的JOB
4. Job:执行逻辑

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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