wang15001200836 2017-11-07 02:09 采纳率: 0%
浏览 996

java 任务执行(非定时任务)绑定处理对象问题

业务是这样的 并发大概在1000个任务左右 任务A生成后需要倒计时5分钟执行一个DB操作+推送(提醒)+邮件。倒计时10分钟时执行一个DB操作+推送+邮件+任务数据的销毁。有以下几个方案:
方案1:任务生成时记录开始时间,使用定时器或Timer控件的时候,1s执行一次,内部执行方法使用线程池异步执行,判断间隔时间,更改操作。1s取一次redis。
方案2:利用工厂模式,每次创建一个 任务--任务处理 的绑定 while 用程序去控制这个任务的处理。

针对以上的情况,请各位大神,帮忙分析一下对系统的硬件要求,以及如何优化和需要注意什么地方

  • 写回答

1条回答

  • 伯乐_博 2017-11-07 08:27
    关注

    1s取一次?while(true)一直判断?不用这么麻烦,java直接就能实现
    1.将5分钟时要执行的操作写成一个线程A。将10分钟时执行的操作写成一个线程B。
    2.线程A中run方法刚开始直接thread.sleep(5分钟)。线程B中sleep10分钟。
    3.创建一个任务执行线程C。run方法中调用A和B。
    4..创建一个线程池。(数量,等待队列,线程全忙时处理策略这些自己根据瓶颈自己设定);
    4.任务进来。线程池执行线程C

    评论

报告相同问题?

悬赏问题

  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥30 用arduino开发esp32控制ps2手柄一直报错
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿