亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

J2ME Timer - 更簡單的實現多任務調度執行

2019-11-18 12:44:57
字體:
來源:轉載
供稿:網友

  J2SE 1.3 里有一項新的改進,那就是提供了一個可以更簡單的實現多任務調度執行的定時器類,調度由一個后臺線程完成。 MIDP 同樣也包含了這一改進,使得 J2ME 開發人員從中受益。
  
  J2ME 提示了兩個類用來定義和調試任務, 他們分別是 TimerTask 和 Timer。TimerTask 是用戶定義的需要被調度的所有任務的抽象基類。Timer 類在任務執行的時候負責創建和治理執行線程。
  
  要定義一個任務,定義一個 TimerTask 的子類,并實現 run 方法。例如:
  
  import java.util.*;
  
  public class MyTask extends TimerTask
  {
    public void run()
    {
      System.out.    }
  }
  
  是不是覺得 run 方法很熟悉呢?那是因為 TimerTask 實現了 java.lang.Runnable 接口。 Timer 類調用這個 run 方法來執行各個任務。此外還有一點必須注重到,那就是每個 run 方法所執行的任務必須能夠盡快的終止,因為每個 Timer 對象在同一時間只能執行一個任務。
  
  定義好一個任務以后,你可以生成一個 Timer 對象并調用 schedule 方法來調度它,就像下面的代碼演示的那樣:
  
  import java.util.*;
  
  Timer timer = new Timer();
  TimerTask task = new MyTask();
  
  // 在執行這個任務前等待十秒...
  timer.schedule( task, 10000 );
  
  // 在執行任務前等待十秒,然后每過十秒再執行一次
  timer.schedule( task, 5000, 10000 );
  
  schedule 方法被重載了四次;每一個任務都可以在一個特定的時間點(使用一個 Date 對象指定)或者延時特定的時間段(以毫秒為單位)之后執行。你可以安排這個任務只執行一次或者在一段特定的時間段里反復執行。Timer 還提供了一個 scheduleAtFixedRate 方法來根據該任務第一次執行的時間來指定反復執行時延長的時間段。假如一個任務被延時了,被安排在后面執行的任務就被相應的縮短等待時間以“接上”被延時的任務。
  
  每個 Timer 對象都會創建和治理一個后臺線程。一般情況下,一個程序創建一個 Timer 就夠了,當然也可以根據需要創建任意多個。你還可以在任何時候停止一個 Timer 并終止后臺線程,方法是調用 cancel 方法。但要注重的是,一旦 Timer 并終止了,就不可能再恢復執行,除非你重新生成一個 Timer 對象并重新安排你想要執行的任務。Timer 對象是線程安全的,你可以在多線程的環境下直接訪問 Timer 對象,而不用任何顯式的同步處理。
  
  另外,每個任務提供了一個 cancel 方法(繼續自 TimerTask 基類),你可以在任務執行的過程當中調用該方法來終止該任務。一旦你終止了該任務,那么它將退出任務調度。你可以在任何時間調用每個任務的 cancel 方法來終止該任務的執行,哪怕該任務還一次都沒有執行過。
  
  下面提供了一個簡示的 MIDlet 示例來演示 Timer 的使用,我們將利用定時器來模擬一個星空移動的效果。星星用一個點來表示,這使用到了低界圖形 API。關于低界圖形 API 更具體的介紹,請參考我的另一篇文章《使用 MIDP 的低界用戶界面 API》。
  
  import javax.microedition.midlet.*;
  import javax.microedition.lcdui.*;
  import java.util.*;
  
  public class TimerDemo extends MIDlet {
  
    Display  display;
    StarField field = new StarField();
    FieldMover mover = new FieldMover();
    Timer   timer = new Timer();
  
    public TimerDemo() {
      display = Display.getDisplay( this );
    }
  
    protected void destroyApp( boolean unconditional ) {
    }
  
    protected void startApp() {
      display.setCurrent( field );
      timer.schedule( mover, 100, 100 );
    }
  
    protected void pauseApp() {
    }
  
    public void exit(){
      timer.cancel(); // stop scrolling
      destroyApp( true );
      notifyDestroyed();
    }
  
    class FieldMover extends TimerTask {
      public void run(){
        field.scroll();
      }
    }
  
    class StarField extends Canvas {
      int    height;
      int    width;
      int[]   stars;
      Random   generator = new Random();
      boolean  painting = false;
  
      public StarField(){
        height   = getHeight();
        width    = getWidth();
        stars    = new int[ height ];
  
        for( int i = 0; i < height; ++i ){
          stars[i] = -1;
        }
      }
  
      public void scroll() {
        if( painting ) return;
  
        for( int i = height-1; i > 0; --i ){
          stars[i] = stars[i-1];
        }
  
        stars[0] = ( generator.nextInt() %
                  ( 3 * width ) ) / 2;
        if( stars[0] >= width ){
          stars[0] = -1;
        }
  
        repaint();
      }
  
      protected void paint( Graphics g ){
        painting = true;
  
        g.setColor( 0, 0, 0 );
        g.fillRect( 0, 0, width, height );
  
        g.setColor( 255, 255, 255 );
  
        for( int y = 0; y < height; ++y ){
          int x = stars[y];
          if( x == -1 ) continue;
  
          g.drawline( x, y, x, y );
        }
  
        painting = false;
      }
  
      protected void keypressed( int keycode ){
        exit();
      }
    }
  }
  
  TimerDemo MIDlet 使用了一個 Timer 對象 timer 來調度執行一個 TimerTask 任務 FieldMover,時間間隙 100 毫秒。FieldMover 處理星空的更新并重繪任務,使得整個星空不斷得往屏幕下方“延伸”。這樣就生成了一個簡單的星空移動的效果。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久97精品| 亚洲大胆人体视频| 亚洲第一区中文99精品| 综合136福利视频在线| 久久精品免费电影| 精品国偷自产在线| 欧美成人精品一区二区三区| 欧美日韩亚洲精品一区二区三区| y97精品国产97久久久久久| 欧美在线视频一二三| 国产精品扒开腿做爽爽爽视频| 91麻豆国产语对白在线观看| 色综合天天综合网国产成人网| 永久免费毛片在线播放不卡| 久久久av亚洲男天堂| 亚洲欧美日本伦理| 久久视频精品在线| 欧美成年人网站| 欧美区在线播放| 91精品国产91久久久久久最新| 亚洲毛片在线观看.| 欧美国产激情18| 色黄久久久久久| 日韩成人av在线| 久久男人av资源网站| 蜜臀久久99精品久久久无需会员| 国产丝袜精品第一页| 久久99精品久久久久久琪琪| 国产亚洲激情视频在线| 亚洲一区二区三区视频播放| 国产精品入口夜色视频大尺度| 久久久精品国产| 亚洲国产婷婷香蕉久久久久久| 日韩经典一区二区三区| 久久人人爽亚洲精品天堂| 国产香蕉精品视频一区二区三区| 欧美高清视频一区二区| 亚洲免费视频观看| 精品毛片网大全| 精品国内自产拍在线观看| 欧美另类老女人| 97超级碰碰碰久久久| 欧美成人国产va精品日本一级| 久久久www成人免费精品张筱雨| 国自在线精品视频| 欧美最猛黑人xxxx黑人猛叫黄| 国产精品看片资源| 精品无人区乱码1区2区3区在线| 成人激情av在线| 国产精品激情av电影在线观看| 欧美激情欧美狂野欧美精品| 国产精品视频免费在线观看| 92福利视频午夜1000合集在线观看| 91国产中文字幕| 国产在线拍揄自揄视频不卡99| 91久久国产精品91久久性色| 色悠久久久久综合先锋影音下载| 久久久噜噜噜久噜久久| 日韩av手机在线看| 日本91av在线播放| 国产精品黄色av| 亚洲黄在线观看| 国产色视频一区| 国产99久久精品一区二区| 久久精品成人动漫| 日韩h在线观看| 国产一区二区三区视频在线观看| 91国自产精品中文字幕亚洲| 国产精品一区二区三区成人| 一区二区三区视频免费| 欧美成aaa人片在线观看蜜臀| 九九热这里只有精品免费看| 欧美日韩国产中字| 欧美国产日韩精品| 欧美洲成人男女午夜视频| 激情成人在线视频| 深夜福利一区二区| 在线观看免费高清视频97| 国产成人啪精品视频免费网| 久久理论片午夜琪琪电影网| 国产精品日本精品| 亚洲国产欧美在线成人app| www.日韩av.com| 久久成人一区二区| 国产亚洲综合久久| 精品国产鲁一鲁一区二区张丽| 国产精品麻豆va在线播放| 久久精品99久久香蕉国产色戒| 欧洲亚洲免费在线| 欧美性极品xxxx做受| 一区二区三区视频免费在线观看| 日韩中文字幕在线| 日韩精品福利在线| 亚洲第一av网站| 久久91亚洲人成电影网站| 欧洲美女免费图片一区| 久久久人成影片一区二区三区观看| 丰满岳妇乱一区二区三区| 亚洲第一男人av| 日韩在线视频观看| 在线视频一区二区| 欧美国产日韩中文字幕在线| 欧美精品在线免费观看| 91av中文字幕| 亚洲欧美精品一区| 欧美贵妇videos办公室| 久久综合五月天| 亚洲欧美中文日韩在线v日本| 亚洲第一网站免费视频| 国产精品福利观看| 国产精品久久久久久亚洲影视| 最新国产精品拍自在线播放| 中文字幕免费精品一区高清| 亚洲美女又黄又爽在线观看| 国产精品久久久久一区二区| 欧美交受高潮1| 国语自产偷拍精品视频偷| 国产精品一区二区三区在线播放| 91精品国产91久久| 色小说视频一区| 91精品国产自产在线老师啪| 欧美激情精品久久久久久| 国产精品一区电影| 国产成人在线播放| 久久理论片午夜琪琪电影网| 成人久久久久久久| 亚洲精品www久久久| 亚洲激情第一页| 日韩精品视频免费在线观看| 亚洲美女视频网| 日韩av手机在线| 狠狠久久五月精品中文字幕| 成人黄色影片在线| 亚洲第一免费网站| 亚洲91精品在线观看| 国产精品精品久久久久久| 欧美另类老肥妇| 亚洲级视频在线观看免费1级| 精品视频在线观看日韩| 久久在线免费视频| 亚洲色图35p| 亚洲综合色av| 91精品国产自产91精品| 91九色在线视频| 欧美电影在线免费观看网站| 亚洲精品一区二区在线| 国产91精品久久久久久| 欧美国产日韩精品| 俺也去精品视频在线观看| 亚洲第一av在线| 久久激情视频久久| 久久视频中文字幕| 成人激情在线播放| 欧美做受高潮电影o| 51ⅴ精品国产91久久久久久| 最近2019年好看中文字幕视频| 在线看国产精品| 欧美日韩日本国产| 亚洲欧美国产日韩中文字幕| 国产精品美女久久久久久免费| 国产精品流白浆视频| 国产精品久久久久久婷婷天堂| 欧美性猛交xxxx富婆| 国产成人精品最新|