首页  >  问答  >  正文

java 随机延迟执行

怎么让一个程序延迟执行,指定延迟时间访问,比如收到请求后对该请求进行记录,让后续操作在一天呢延迟执行

某草草某草草2702 天前882

全部回复(5)我来回复

  • 巴扎黑

    巴扎黑2017-05-27 17:42:47

    可以使用调度框架 quartz

    回复
    0
  • 为情所困

    为情所困2017-05-27 17:42:47

    1.收到数据存库记录下来

    2.linux下可以使用crond进行定时任务检查任务,并调用java提供得触发任务接口

    3.把任务加入redis,使用java进行定时处理。

    回复
    0
  • PHP中文网

    PHP中文网2017-05-27 17:42:47

    收到一个请求就创建一个线程,用ScheduledThreadPoolExecutor方法在固定的延迟后执行。

    回复
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-27 17:42:47

    SpringMVC里面的Quartz,可以自由配置多个定时的任务

    回复
    0
  • 仅有的幸福

    仅有的幸福2017-05-27 17:42:47

    如果是Java Web项目,就在后台启动一个Servlet,
    例如
    <servlet><servlet-name>servlet的名字</servlet-name><servlet-class>servlet所在的包的路径</servlet-class> <load-on-startup>1</load-on-startup></servlet>

    并在后台维护一个线程池,将需要延迟执行的请求加入到线程池中,并为每个线程加上时间标识,以便后续检查,Servlet定期从线程池中取出线程,检查是否该执行,如果满足执行条件,则执行,如果不满足,就将线程放回线程池。如果不是Web项目,可以使用Java的Timer,同时也维护一个线程池,使用Timer定时去做检查。

    回复
    0
  • 取消回复