yxhxj2006

          常用鏈接

          統(tǒng)計(jì)

          最新評(píng)論

          Java中定時(shí)器

          對(duì)于開(kāi)發(fā)游戲項(xiàng)目的同胞來(lái)說(shuō),Timer 這個(gè)東西肯定不會(huì)陌生,今天放假閑來(lái)無(wú)事,對(duì)以前自己經(jīng)常使用的定時(shí)進(jìn)行了一番小小的總結(jié)!沒(méi)有寫(xiě)具體實(shí)現(xiàn)的原理,只是列舉出了其中的四種比較常見(jiàn)的使用方法,相對(duì)而言,所以只要按照其所列舉的例子仿照即可!

          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();
              }


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

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


              
          // 第二種方法:設(shè)定指定任務(wù)task在指定延遲delay后進(jìn)行固定延遲peroid的執(zhí)行
              
          // 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(
          "-------設(shè)定要指定任務(wù)--------");
                      }

                  }
          10005000);
              }


              
          // 第三種方法:設(shè)定指定任務(wù)task在指定延遲delay后進(jìn)行固定頻率peroid的執(zhí)行。
              
          // 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(
          "-------設(shè)定要指定任務(wù)--------");
                      }

                  }
          10002000);
              }

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

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

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

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

          }

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

          評(píng)論

          # re: Java中定時(shí)器[未登錄](méi) 2012-08-02 20:36 javaer

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


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 临朐县| 宝清县| 阿克| 唐山市| 临夏市| 仁化县| 北宁市| 漯河市| 汉中市| 盐池县| 昔阳县| 巴林右旗| 广元市| 洛川县| 米泉市| 阿拉尔市| 兴化市| 大悟县| 年辖:市辖区| 金门县| 黔南| 成都市| 泰来县| 化德县| 英山县| 景德镇市| 康平县| 英超| 余干县| 三穗县| 德惠市| 新津县| 区。| 嵊泗县| 横峰县| 嵩明县| 榆中县| 抚远县| 建平县| 盐亭县| 长顺县|