首頁  >  問答  >  主體

java 隨機延遲執行

怎麼讓一個程式延遲執行,指定延遲時間訪問,例如收到請求後對該請求進行記錄,讓後續操作在一天呢延遲執行

某草草某草草2702 天前871

全部回覆(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
  • 取消回覆