激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 詳解JAVA Timer和TimerTask

詳解JAVA Timer和TimerTask

2020-07-31 14:55看云 Java教程

這篇文章主要介紹了JAVA Timer和TimerTask的相關資料,文中講解非常細致,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下

TimerTimerTask可以做為實現線程的第三種方式,前兩中方式分別是繼承自Thread類和實現Runnable接口。

Timer是一種線程設施,用于安排以后在后臺線程中執行的任務。可安排任務執行一次,或者定期重復執行,可以看成一個定時器,可以調度TimerTask。TimerTask是一個抽象類,實現了Runnable接口,所以具備了多線程的能力。

一個Timer可以調度任意多個TimerTask,它會將TimerTask存儲在一個隊列中,順序調度,如果想兩個TimerTask并發執行,則需要創建兩個Timer。下面來看一個簡單的例子:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
import java.util.Timer;
import java.util.TimerTask;
public class TimerTest {
  static class MyTimerTask1 extends TimerTask {
    public void run() {
      System.out.println("爆炸!!!");
    }
  }  
  public static void main(String[] args) {
    Timer timer = new Timer();
    timer.schedule(new MyTimerTask1(), 2000);// 兩秒后啟動任務
  }
}

schedule是Timer調度任務的方法,Timer重構了四個schedule方法,具體可以查看JDK API。

看一個稍復雜的例子,假設有這樣一種需求,實現一個連環炸彈,2秒后爆炸一次,3秒后爆炸一次,如此循環下去,這就需要創建兩個任務,互相調度,代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class TimerTest {
  static class MyTimerTask1 extends TimerTask {
    public void run() {
      System.out.println("爆炸!!!");
      new Timer().schedule(new MyTimerTask2(), 2000);
    }
  }
  static class MyTimerTask2 extends TimerTask {
    public void run() {
      System.out.println("爆炸!!!");
      new Timer().schedule(new MyTimerTask1(), 3000);
    }
  }
  public static void main(String[] args) {
    Timer timer = new Timer();
    timer.schedule(new MyTimerTask2(), 2000);
    while(true) {
      System.out.println(new Date().getSeconds());
      try {
        Thread.sleep(1000);
      } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
    }
  }
}

自JDK5之后,可以用ScheduledThreadPoolExecutor來替代Timer。

以上就是詳解JAVA Timer和TimerTask的詳細內容,更多關于JAVA Timer和TimerTask的資料請關注服務器之家其它相關文章!

原文鏈接:https://www.kancloud.cn/digest/java-thread/107460

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久精品视频在线看99 | 久久撸视频 | 久久久精品视频免费看 | 日日爱影院 | 久草经典视频 | 日产精品久久久一区二区开放时间 | 多男操一女视频 | 国产免费一区视频 | 思思久而久而蕉人 | 日日噜噜噜噜久久久精品毛片 | 羞羞视频免费网站日本动漫 | 中文字幕网在线 | 香蕉国产精品 | 九九热精品在线视频 | 日韩黄色免费观看 | 亚洲成人免费视频在线 | 国产精品一区自拍 | 性色av一区二区三区在线观看 | 日本精品中文字幕 | 黄视频在线网站 | 成人黄视频在线观看 | 国产福利不卡一区二区三区 | 精品国产一二区 | 亚洲国产成人久久一区www妖精 | 国产精品免费一区二区三区在线观看 | 羞羞视频免费入口网站 | 毛片免费观看完整版 | 一区二区三区四区视频在线观看 | 91精品国产成人 | 国产三级在线观看a | 免费a级毛片永久免费 | aa国产视频一区二区 | 久久久久国| 久久久一区二区精品 | 免费a级黄色毛片 | 国产1区2区3区在线观看 | 久久我不卡 | 一级黄色淫片 | 狼人狠狠干 | 亚洲日韩中文字幕一区 | 欧美一级做 |