io调度maple调度程序_调度Java应用程序中的主体
io調(diào)度maple調(diào)度程序
許多項目需要計劃功能,例如我們計劃的工作,重復的工作,異步執(zhí)行等。
我們的首選方法是使用企業(yè)作業(yè)調(diào)度程序,例如OpenSymphony的Quartz。使用計劃任務進行編碼時,最棘手的部分之一是執(zhí)行部分。 這里的主要經(jīng)驗法則是注意將要執(zhí)行的實際代碼。 調(diào)度框架在后臺使用工作線程,以便異步執(zhí)行代碼。 例如,Quartz企業(yè)作業(yè)調(diào)度程序維護由主“控制器”線程監(jiān)視的工作線程池。
您應該記住,調(diào)度的作業(yè)本質(zhì)上是異步的,因此引入異步執(zhí)行層是我們表示保持工作整潔的首選方式。
在過去的很多次中,我們都遇到了這樣的難題:讓調(diào)度框架工作線程執(zhí)行實際代碼,或者實現(xiàn)替代的異步執(zhí)行層。 每種方法都有其優(yōu)點和缺點。
使用調(diào)度框架執(zhí)行實際代碼,優(yōu)點:
使用調(diào)度框架執(zhí)行實際代碼,缺點:
我們想認為調(diào)度框架應該充當“調(diào)度程序”而不是“執(zhí)行者”。 計劃框架的主要職責應該是在適當?shù)臅r間“觸發(fā)”執(zhí)行事件。 應使用事件偵聽器執(zhí)行代碼的實際執(zhí)行。
實現(xiàn)此設(shè)計模式的最佳方法是使用異步JMS消息傳遞。 計劃框架工作線程應在執(zhí)行時將消息插入JMS隊列。 JMS偵聽器線程應在收到消息后執(zhí)行實際代碼。 這樣做會由于JMS的讀/寫開銷而在實際代碼執(zhí)行之前引入一些延遲,但是“長期存在”的實現(xiàn)代碼不會對調(diào)度框架造成任何問題。
翻譯自: https://www.javacodegeeks.com/2010/05/scheduling-principals-in-java.html
io調(diào)度maple調(diào)度程序
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的io调度maple调度程序_调度Java应用程序中的主体的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 无线路由器发射功率如何调节如何调节无线路
- 下一篇: java中文件处理之图片_在Java 7