国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Java入門:Java語言中Timer類的簡潔用法

2019-11-17 04:59:21
字體:
供稿:網(wǎng)友
所有類型的 java 應(yīng)用程序一般都需要計(jì)劃重復(fù)執(zhí)行的任務(wù)。企業(yè)應(yīng)用程序需要計(jì)劃每日的日志或者晚間批處理過程。一個 J2SE 或者 J2ME 日歷應(yīng)用程序需要根據(jù)用戶的約定計(jì)劃鬧鈴時間。不過,標(biāo)準(zhǔn)的調(diào)度類 Timer 和 TimerTask 沒有足夠的靈活性,無法支持通常需要的計(jì)劃任務(wù)類型。在本文中,Java 開發(fā)人員 Tom White 向您展示了如何構(gòu)建一個簡單通用的計(jì)劃框架,以用于執(zhí)行任意復(fù)雜的計(jì)劃任務(wù)。

把 java.util.Timer 和 java.util.TimerTask 統(tǒng)稱為 Java 計(jì)時器框架,它們使程序員可以很容易地計(jì)劃簡單的任務(wù)(注意這些類也可用于 J2ME 中)。在 Java 2 SDK, Standard Edition, Version 1.3 中引入這個框架之前,開發(fā)人員必須編寫自己的調(diào)度程序,這需要花費(fèi)很大精力來處理線程和復(fù)雜的 Object.wait() 方法。不過,Java 計(jì)時器框架沒有足夠的能力來滿足許多應(yīng)用程序的計(jì)劃要求。甚至一項(xiàng)需要在每天同一時間重復(fù)執(zhí)行的任務(wù),也不能直接使用 Timer 來計(jì)劃,因?yàn)樵谙牧顣r開始和結(jié)束時會出現(xiàn)時間跳躍。

本文展示了一個通用的 Timer 和 TimerTask 計(jì)劃框架,從而允許更靈活的計(jì)劃任務(wù)。這個框架非常簡單 ?? 它包括兩個類和一個接口 ?? 并且容易掌握。如果您習(xí)慣于使用 Java 定時器框架,那么您應(yīng)該可以很快地掌握這個計(jì)劃框架。

計(jì)劃單次任務(wù)

計(jì)劃框架建立在 Java 定時器框架類的基礎(chǔ)之上。因此,在解釋如何使用計(jì)劃框架以及如何實(shí)現(xiàn)它之前,我們將首先看看如何用這些類進(jìn)行計(jì)劃。

想像一個煮蛋計(jì)時器,在數(shù)分鐘之后(這時蛋煮好了)它會發(fā)出聲音提醒您。清單 1 中的代碼構(gòu)成了一個簡單的煮蛋計(jì)時器的基本結(jié)構(gòu),它用 Java 語言編寫:

清單 1. EggTimer 類

package org.tiling.scheduling.examples;
import java.util.Timer;
import java.util.TimerTask;
public class EggTimer {   
                    // Start a new thread to play a sound...
            } 
       }, minutes * 60 * 1000);
    } 
   public static void main(String[] args) { 
       EggTimer eggTimer = new EggTimer(2); 
       eggTimer.start();
    }
}

EggTimer 實(shí)例擁有一個 Timer 實(shí)例,用于提供必要的計(jì)劃。用 start() 方法啟動煮蛋計(jì)時器后,它就計(jì)劃了一個 TimerTask,在指定的分鐘數(shù)之后執(zhí)行。時間到了,Timer 就在后臺調(diào)用 TimerTask 的 start() 方法,這會使它發(fā)出聲音。在取消計(jì)時器后這個應(yīng)用程序就會中止。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 尚志市| 册亨县| 彭州市| 隆安县| 佛山市| 舒兰市| 财经| 高邮市| 义马市| 连南| 郯城县| 游戏| 凤山市| 苍山县| 高雄县| 自贡市| 察隅县| 莲花县| 泸州市| 英德市| 徐水县| 马山县| 贵南县| 凌海市| 遂昌县| 五河县| 正阳县| 社会| 松滋市| 淳安县| 肥乡县| 陆川县| 平南县| 博客| 湘阴县| 朝阳区| 高淳县| 临朐县| 永靖县| 新龙县| 大邑县|