84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
怎麼讓一個程式延遲執行,指定延遲時間訪問,例如收到請求後對該請求進行記錄,讓後續操作在一天呢延遲執行
可以使用調度框架 quartz
1.收到資料存庫記錄下來
2.linux下可以使用crond進行定時任務檢查任務,並呼叫java提供得觸發任務介面
3.把任務加入redis,使用java進行定時處理。
收到一個請求就建立一個線程,用ScheduledThreadPoolExecutor方法在固定的延遲後執行。
SpringMVC裡面的Quartz,可以自由配置多個定時的任務
如果是Java Web項目,就在後台啟動一個Servlet,例如<servlet><servlet-name>servlet的名字</servlet-name><servlet-class>servlet所在的包的路径</servlet-class> <load-on-startup>1</load-on-startup></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定時去做檢查。
可以使用調度框架 quartz
1.收到資料存庫記錄下來
2.linux下可以使用crond進行定時任務檢查任務,並呼叫java提供得觸發任務介面
3.把任務加入redis,使用java進行定時處理。
收到一個請求就建立一個線程,用ScheduledThreadPoolExecutor方法在固定的延遲後執行。
SpringMVC裡面的Quartz,可以自由配置多個定時的任務
如果是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定時去做檢查。