中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      TimerTask與Timer類的應(yīng)用

      時(shí)間:2024-09-04 17:03:47 SUN認(rèn)證 我要投稿
      • 相關(guān)推薦

      關(guān)于TimerTask與Timer類的應(yīng)用

        Timer類就像一個(gè)定時(shí)器,用于設(shè)置特定的時(shí)間或周期,來(lái)配合線程動(dòng)作的執(zhí)行,但是只調(diào)用Timer無(wú)法執(zhí)行線程動(dòng)作,必須配合另一個(gè)類TimerTask的方法才能使用。從示例6-13中可以發(fā)現(xiàn)Timer類與Thread類很相近。

        public Timer ()

        創(chuàng)建一個(gè)新的timer對(duì)象。

        Timer屬于計(jì)時(shí)器類,Time建立后,需要調(diào)用schedule()方法來(lái)執(zhí)行計(jì)劃任務(wù),計(jì)劃調(diào)度的方法有許多運(yùn)用方式:

        public void schedule (TimerTask task, long delay)

        執(zhí)行任務(wù)前先等待一段時(shí)間。task代表要執(zhí)行的任務(wù),delay代表需要等待的時(shí)間,單位為毫秒(1000毫秒為1秒)。

        public void schedule (TimerTask task,

        Date time)

        在指定的系統(tǒng)時(shí)間time之后開(kāi)始執(zhí)行任務(wù)。

        public void schedule (TimerTask task,

        long delay,

        long period)

        延遲一段時(shí)間后開(kāi)始執(zhí)行任務(wù),任務(wù)按照設(shè)定的周期執(zhí)行。傳入的參數(shù):delay為延遲時(shí)間,period為周期時(shí)間,單位均為毫秒。

        public void schedule(TimerTask task,

        Date firstTime,

        long period)

        在指定的時(shí)間后開(kāi)始執(zhí)行任務(wù),任務(wù)按照設(shè)定的周期執(zhí)行。傳入的參數(shù):firstTime為指定等待時(shí)間,period為周期時(shí)間,單位都是毫秒。

        public void scheduleAtFixedRate (TimerTask task,

        long delay,

        long period)

        執(zhí)行任務(wù)內(nèi)容后,等待delay時(shí)間,再按照period周期時(shí)間繼續(xù)執(zhí)行任務(wù),單位都是毫秒。

        public void scheduleAtFixedRate

        (TimerTask task,

        Date firstTime,

        long period)

        先等待一段時(shí)間firstTime,再執(zhí)行計(jì)劃任務(wù),然后按照period周期時(shí)間繼續(xù)執(zhí)行任務(wù),單位都是毫秒。

        public void cancel()

        停止timer計(jì)時(shí)。

        有了Timer的各項(xiàng)調(diào)用方法,還不能直接執(zhí)行計(jì)劃任務(wù),需要跟TimerTask類共同運(yùn)用才能使計(jì)劃任務(wù)開(kāi)始運(yùn)行。TimerTask所包含的相關(guān)方法如下:

        public void TimerTask ()

        創(chuàng)建一個(gè)新的TimerTask對(duì)象。

        public abstract void run()

        運(yùn)行計(jì)劃任務(wù)的工作內(nèi)容。

        public void cancel()

        中止TimerTask類的執(zhí)行流程,不再執(zhí)行所調(diào)度的工作內(nèi)容。

        public void scheduleExcutionTime()

        實(shí)際運(yùn)行計(jì)劃任務(wù)所用的時(shí)間。

        示例6-13

        /×

        Timer和TimerTask類運(yùn)行計(jì)劃任務(wù)

        ×/

        import javax.microedition.midlet.×;

        import javax.microedition.lcdui.×;

        import java.util.×;

        public class threadDemo3 extends MIDlet

        {

        Display display;

        canvasThread canvasthread;

        public threadDemo3()

        {

        canvasthread=new canvasThread();

        display=Display.getDisplay(this);

        }

        public void startApp()

        {

        display.setCurrent(canvasthread);

        }

        public void pauseApp(){}

        public void destroyApp(boolean unconditional){}

        public class canvasThread extends Canvas

        {

        int gameaction=0;

        int view=0;

        boolean again;

        //聲明一個(gè)Tim er類

        Timer timers;

        Image[] cloudImage;

        Image[] sunImage;

        public canvasThread()

        {

        timers=new Timer();

        try{

        cloudImage = new Image[]{

        Image.createImage("/cloud-1.png"),

        Image.createImage("/cloud-2.png"),

        Image.createImage("/cloud-3.png"),

        Image.createImage("/cloud-4.png")

        };

        sunImage = new Image[]{

        Image.createImage("/sun-1.png"),

        Image.createImage("/sun-2.png"),

        Image.createImage("/sun-3.png"),

        Image.createImage("/sun-4.png")

        };

        }catch(Exception ex){}

        }

        public void keyPressed(int keyCode)

        {

        gameaction=getGameAction(keyCode);

        switch(gameaction)

        {

        case FIRE:

        //運(yùn)行計(jì)劃任務(wù)

        actionView();

        break;

        }

        }

        public void paint(Graphics g)

        {

        g.setColor(0xFFFFFF);

        g.fillRect(0, 0, getWidth(), getHeight());

        g.setColor(0);

        g.drawString("Timer線程動(dòng)畫(huà)應(yīng)用", getWidth()/2, 20,

        Graphics.HCENTER | Graphics.TOP);

        g.drawImage(sunImage[view], getWidth()/2, 50, Graphics.HCENTER |

        Graphics.TOP);

        g.drawImage(cloudImage[view], getWidth()/2, 50, Graphics.HCENTER

        | Graphics.TOP);

        }

        private void actionView()

        {

        /×

        安排一個(gè)計(jì)劃任務(wù)

        運(yùn)行任務(wù)內(nèi)容:goCanvas()

        delay時(shí)間:500毫秒

        period周期:500毫秒

        ×/

        timers.schedule(new goCanvas(), 500, 500);

        }

        //計(jì)劃任務(wù)程序內(nèi)容

        class goCanvas extends TimerTask

        {

        public void run()

        {

        repaint();

        if(again)

        view--;

        else

        view++;

        if(again && view==0)

        again=false;

        if(!again && view==3)

        again=true;

        }

        }

        }

        }

        【說(shuō)明】本線程使用計(jì)劃任務(wù)進(jìn)行,所達(dá)到的效果跟使用線程的方式是相同的。只是在計(jì)劃的內(nèi)容上有所不同,例如不需要sleep()暫停時(shí)間,而是由schedule控制暫停時(shí)間。

      【TimerTask與Timer類的應(yīng)用】相關(guān)文章:

      小學(xué)雞兔同籠類應(yīng)用題03-31

      英語(yǔ)四級(jí)應(yīng)用類作文寫(xiě)作技巧03-30

      2016小升初數(shù)學(xué)常考的4類應(yīng)用題01-23

      2016考研英語(yǔ):攻克高分作文之告示類應(yīng)用文03-19

      2017中職類計(jì)算機(jī)應(yīng)用基礎(chǔ)試題「附答案」03-06

      速錄介紹及應(yīng)用03-05

      EDA技術(shù)與應(yīng)用03-31

      草坪的景觀應(yīng)用03-13

      計(jì)算機(jī)應(yīng)用技術(shù)的應(yīng)用與發(fā)展03-27

      主站蜘蛛池模板: 亚洲av制服一区二区三区 | 亚洲精品一区二区三区播放| 亚洲九九夜夜| 亚洲综合日韩中文字幕| 新竹市| 国产精品流白浆无遮挡| 亚洲不卡av不卡一区二区| 灵丘县| 高清一级淫片a级中文字幕| 日本久久精品免费播放| 国产精品中文第一字幕| 元氏县| 噶尔县| 久久久精品人妻一区二区三区日本| 老熟妇高潮av一区二区三区啪啪| 久久久午夜毛片免费| 午夜在线观看视频二区| 偷拍女厕女澡堂视频在线观看| 熟女少妇高潮免费视频| 日韩人妻高清福利视频| 高潮社区51视频在线观看| 青青草视频在线观看播放| 亚洲av情网站在线观看| 国产成人av在线影院无毒| 加勒比东京热综合久久| 元氏县| 无码视频一区二区三区在线播放 | 成都市| 国产精品视频一区二区三区,| 熟女丝袜av一区二区三区四区| 国产在线一区二区视频免费观看 | 人妻少妇一区二区三区| 东城区| 化德县| 女同性恋精品一区二区三区| 阜南县| 绥滨县| 国产经典免费视频在线观看 | 精品人妻丰满久久久a| 插入中文字幕在线一区二区三区| 久久精品国产亚洲av高清蜜臀|