文章詳情頁
java 隨機延遲執行
瀏覽:87日期:2023-11-18 14:01:38
問題描述
怎么讓一個程序延遲執行,指定延遲時間訪問,比如收到請求后對該請求進行記錄,讓后續操作在一天呢延遲執行
問題解答
回答1:可以使用調度框架 quartz
回答2:1.收到數據存庫記錄下來
2.linux下可以使用crond進行定時任務檢查任務,并調用java提供得觸發任務接口
3.把任務加入redis,使用java進行定時處理。
回答3:收到一個請求就創建一個線程,用ScheduledThreadPoolExecutor方法在固定的延遲后執行。
回答4:SpringMVC里面的Quartz,可以自由配置多個定時的任務
回答5:如果是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定時去做檢查。
標簽:
java
相關文章:
1. 我的html頁面一提交,網頁便顯示出了我的php代碼,求問是什么原因?2. django - 后臺返回的json數據經過Base64加密,獲取時用python如何解密~!3. tp6表單令牌4. 我在centos容器里安裝docker,也就是在容器里安裝容器,報錯了?5. node.js - node 客戶端socket一直報錯Error: read ECONNRESET,用php的socket沒問題哈。。6. docker 17.03 怎么配置 registry mirror ?7. 老哥們求助啊8. node.js - nodejs中把熱request保存下來,使用JSON.stringify(req)報錯,請問怎么解決?9. mysql分庫分表量級疑問10. javascript - canvas 可以實現 PS 魔法橡皮擦的功能嗎?
排行榜
