yxhxj2006

          常用鏈接

          統計

          最新評論

          Java中定時器

          對于開發游戲項目的同胞來說,Timer 這個東西肯定不會陌生,今天放假閑來無事,對以前自己經常使用的定時進行了一番小小的總結!沒有寫具體實現的原理,只是列舉出了其中的四種比較常見的使用方法,相對而言,所以只要按照其所列舉的例子仿照即可!

          import java.util.Calendar;
          import java.util.Date;
          import java.util.Timer;
          import java.util.TimerTask;

          public class TimeTest {
              
          public static void main(String[] args) {
                  timer1();
                  
          //timer2();
                  
          //timer3();
                  
          //timer4();
              }


              
          // 第一種方法:設定指定任務task在指定時間time執行 schedule(TimerTask task, Date time)
              public static void timer1() {
                  Timer timer 
          = new Timer();
                  timer.schedule(
          new TimerTask() {
                      
          public void run() {
                          System.out.println(
          "-------設定要指定任務--------");
                      }

                  }
          2000);// 設定指定的時間time,此處為2000毫秒
              }


              
          // 第二種方法:設定指定任務task在指定延遲delay后進行固定延遲peroid的執行
              
          // schedule(TimerTask task, long delay, long period)
              public static void timer2() {
                  Timer timer 
          = new Timer();
                  timer.schedule(
          new TimerTask() {
                      
          public void run() {
                          System.out.println(
          "-------設定要指定任務--------");
                      }

                  }
          10005000);
              }


              
          // 第三種方法:設定指定任務task在指定延遲delay后進行固定頻率peroid的執行。
              
          // scheduleAtFixedRate(TimerTask task, long delay, long period)
              public static void timer3() {
                  Timer timer 
          = new Timer();
                  timer.scheduleAtFixedRate(
          new TimerTask() {
                      
          public void run() {
                          System.out.println(
          "-------設定要指定任務--------");
                      }

                  }
          10002000);
              }

              
              
          // 第四種方法:安排指定的任務task在指定的時間firstTime開始進行重復的固定速率period執行.
              
          // Timer.scheduleAtFixedRate(TimerTask task,Date firstTime,long period)
              public static void timer4() {
                  Calendar calendar 
          = Calendar.getInstance();
                  calendar.set(Calendar.HOUR_OF_DAY, 
          12); // 控制時
                  calendar.set(Calendar.MINUTE, 0);       // 控制分
                  calendar.set(Calendar.SECOND, 0);       // 控制秒

                  Date time 
          = calendar.getTime();         // 得出執行任務的時間,此處為今天的12:00:00

                  Timer timer 
          = new Timer();
                  timer.scheduleAtFixedRate(
          new TimerTask() {
                      
          public void run() {
                          System.out.println(
          "-------設定要指定任務--------");
                      }

                  }
          , time, 1000 * 60 * 60 * 24);// 這里設定將延時每天固定執行
              }

          }

          posted on 2012-08-01 17:36 奮斗成就男人 閱讀(1036) 評論(1)  編輯  收藏

          評論

          # re: Java中定時器[未登錄] 2012-08-02 20:36 javaer

          如果是JDK1.5以上還是建議用Executors.newScheduledThreadPool(size)這個比較好  回復  更多評論   


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 临江市| 安图县| 富民县| 神农架林区| 朔州市| 板桥市| 大新县| 北川| 廉江市| 灵台县| 张家川| 嘉定区| 安泽县| 乐清市| 鸡西市| 博客| 普安县| 辰溪县| 鄂托克旗| 肥乡县| 平罗县| 开江县| 乳山市| 邮箱| 东兰县| 舟山市| 新宾| 安乡县| 灵武市| 安达市| 曲靖市| 布尔津县| 临朐县| 岳普湖县| 新沂市| 安远县| 曲靖市| 盈江县| 平塘县| 新宾| 贺兰县|