簡體   English   中英

如何管理Java計時器任務?

[英]How do I manage Java timer tasks?

我正在尋找有關如何管理多個計時器任務的指南。 我希望能夠動態創建計時器,然后在每個計時器完成時將其重置。

例:

計時器1-執行動作x-重置以在30分鍾內再次執行動作x

計時器2-執行操作y-在10分鍾內再次重置為執行操作y

您想要的是ScheduledExecutorService

它允許您安排任務以給定的時間或給定的速率運行。

以下代碼創建一個計時器,並在500 ms的初始延遲后每1000 ms執行一次。 您可以通過這種方式輕松定義兩個或多個計時器。

TimerTask task = new TimerTask() {
    @Override
    public void run() {
        System.out.println( "exec" );
    }
};

new Timer().scheduleAtFixedRate( task, 500, 1000 );

也許值得回顧一下Quartz Enterprise Job Scheduler

Quartz是功能齊全的開源作業調度系統,可以與幾乎所有J2EE或J2SE應用程序集成或一起使用-從最小的獨立應用程序到最大的電子商務系統。 Quartz可用於創建簡單或復雜的計划,以執行數以萬計,數以萬計的工作。 任務定義為標准Java組件或EJB的作業。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM