Timer的定時排程函式schedule的四種用法(Java)
schedule的四種用法
schedule(task,time)
task-所安排的任務 time-執行任務的時間
作用:在時間等於或者超過time的時候執行且僅執行一次
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Timer; import java.util.TimerTask; public class MyTimerTask extends TimerTask { private Integer cout = 0; @Override public void run() { Calendar calendar = Calendar.getInstance(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss"); System.out.println("Current Time:"+format.format(calendar.getTime()));//獲取當前系統時間 System.out.println("NO.1"); } public static void main(String[] args) { MyTimerTask task = new MyTimerTask(); Calendar calendar = Calendar.getInstance(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss"); System.out.println(format.format(calendar.getTime())); calendar.add(Calendar.SECOND,3);//獲取距離當前時間3秒後的時間 Timer timer = new Timer(); timer.schedule(task,calendar.getTime()); } }
schedule(task,time,period)
task-所要安排執行的任務 time-首次執行任務的時間 period-執行一次task的時間間隔,單位毫秒
作用:時間等於或者超過time首次執行task,之後每隔period毫秒重複執行一次任務
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Timer; import java.util.TimerTask; public class MyTimerTask extends TimerTask { private Integer cout = 0; @Override public void run() { Calendar calendar = Calendar.getInstance(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss"); System.out.println("Current Time:"+format.format(calendar.getTime()));//獲取當前系統時間 System.out.println("NO.1"); } public static void main(String[] args) { MyTimerTask task = new MyTimerTask(); Calendar calendar= Calendar.getInstance(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss"); System.out.println(format.format(calendar.getTime())); calendar.add(Calendar.SECOND,3);//獲取距離當前時間3秒後的時間 Timer timer = new Timer(); //timer.schedule(task,calendar.getTime()); timer.schedule(task,calendar.getTime(),2000); } }
schedule(task,delay)
task-所要安排的任務 delay-執行任務前的延遲時間,單位毫秒
作用:等待delay毫秒後執行僅執行一次task
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Timer; import java.util.TimerTask; public class MyTimerTask extends TimerTask { @Override public void run() { Calendar calendar = Calendar.getInstance(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss"); System.out.println("Current Time:"+format.format(calendar.getTime()));//獲取當前系統時間 System.out.println("NO.1"); } public static void main(String[] args) { MyTimerTask task = new MyTimerTask(); Calendar calendar = Calendar.getInstance(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss"); System.out.println(format.format(calendar.getTime())); //calendar.add(Calendar.SECOND,3);//獲取距離當前時間3秒後的時間 Timer timer = new Timer(); //timer.schedule(task,calendar.getTime()); //timer.schedule(task,calendar.getTime(),2000); timer.schedule(task,2000); } }
schedule(task, delay,period)
作用:在等待delay毫秒後首次執行task,每隔period毫秒重複執行task
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Timer;
import java.util.TimerTask;
public class MyTimerTask extends TimerTask {
@Override
public void run() {
Calendar calendar = Calendar.getInstance();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");
System.out.println("Current Time:"+format.format(calendar.getTime()));//獲取當前系統時間
System.out.println("NO.1");
}
public static void main(String[] args) {
MyTimerTask task = new MyTimerTask();
Calendar calendar = Calendar.getInstance();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");
System.out.println(format.format(calendar.getTime()));
//calendar.add(Calendar.SECOND,3);//獲取距離當前時間3秒後的時間
Timer timer = new Timer();
//timer.schedule(task,calendar.getTime());
//timer.schedule(task,calendar.getTime(),2000);
//timer.schedule(task,2000);
timer.schedule(task,2000,3000);
}
}
相關推薦
Timer的定時排程函式schedule的四種用法(Java)
schedule的四種用法schedule(task,time)task-所安排的任務 time-執行任務的時間作用:在時間等於或者超過time的時候執行且僅執行一次import java.text.SimpleDateFormat; import java.util.Ca
概率分佈函式的四種形式(R)
(1)The Normal Distribution Usage: dnorm(x, mean = 0, sd = 1, log = FALSE) pnorm(q, mean = 0, sd = 1, lower.tail = TRUE, log.p = FALSE) qnorm(p, mean = 0,
兩個變數交換的四種方法(Java)
對於兩種變數的交換,我發現四種方法,下面我用Java來演示一下。 1.利用第三個變數交換數值,簡單的方法。 (程式碼演示一下) 1 class TestEV 2 //建立一個類 3 { 4 public static void main(String[]args) 5
SUMPRODUCT函式的四種用法
SUMPRODUCT函式 在給定的幾組陣列中,將陣列間對應的元素相乘,並返回乘積之和。 語法 SUMPRODUCT(array1,array2,array3, ...) Array1,array2,array3, ... 為 2 到 30 個數組,其相
js 時間轉換毫秒的四種方法(轉)
lpad 如果 class code 時間轉換 因此 ble string sha 將時間轉換為毫秒數的方法有四個: Date.parse()Date.UTCvalueOf()getTime() 1. Date.parse():該方法接受一個表示日期的字符串參數,然後嘗試
java建立執行緒的四種方法(轉)
java中建立執行緒的四種方法以及區別 Java使用Thread類代表執行緒,所有的執行緒物件都必須是Thread類或其子類的例項。Java可以用四種方式來建立執行緒,如下所示: 1)繼承Thread類建立執行緒 2)實現Runnable介面建立執行緒 3)使用Callable和Future建立執行緒
JS 獲取星期幾的四種寫法(轉)
今天是星期幾的4種JS程式碼寫法 第一種寫法 var str = ""; var week = new Date().getDay(); if (week == 0) { str = "今天是星期日"; } else if (week == 1)
詳解Java解析XML的四種方法(轉載)
出處:http://developer.51cto.com/art/200903/117512.htm XML現在已經成為一種通用的資料交換格式,它的平臺無關性,語言無關性,系統無關性,給資料整合與互動帶來了極大的方便。對於XML本身的語法知識與技術細節,需要閱讀相關的技術文獻,這裡
2_本地直播平臺的搭建—四種方式(20181116)
本地直播平臺的搭建—五種方式 方法一:Windows下用FFmpeg+nginx+rtmp搭建直播環境 實現推流、拉流 (`測試通過`) 環境 1. 簡介: 2. 準備檔案 3. 啟動nginx伺服器 4. 配置FFmpe
執行shell指令碼的四種方式(轉)
原文網址:https://www.jb51.net/article/53924.htm 這篇文章主要介紹了Linux中執行shell指令碼的4種方法,即總結在Linux中執行shell指令碼的4種方法。 前提:bash shell 指令碼的方法有多種,現在作個小結。假設我們編寫好的shell指令碼的檔名為
跨執行緒使用使用者介面的四種方法(BackgroundThreadUpdateUI)
namespace BackgroundThreadUpdateUI { // For Method Two public delegate void SetTextCallback(string text); public partial cl
C++執行緒同步的四種方式(Windows)
為什麼要進行執行緒同步? 在程式中使用多執行緒時,一般很少有多個執行緒能在其生命期內進行完全獨立的操作。更多的情況是一些執行緒進行某些處理操作,而其他的執行緒必須對其處理結果進行了解。正常情況下對這種處理結果的瞭解應當在其處理任務完成後進行。 如果不
android資料儲存的四種方案(二)
檔案流操作 二.openFileOutput和openFileInput openFileOutput : 開啟要寫入的檔案,返回一個OutputStream物件 openFileInput:開啟
交換兩個變數的值,不借助第三個變數的四種方法(學習)
缺點:是隻能用於數字型別,字串之類的就不可以了。a+b有可能溢位(超出int的範圍),溢位是相對的, +了溢位了,-回來不就好了,所以溢位不溢位沒關係,就是不安全。2) 指標地址操作 因為對地址的操作實際上進行的是整數運算,比如:兩個地址相減得到一個整數,表示兩個變數在記憶體中的儲存位置隔了
android資料儲存的四種方案(三)
讀寫Json格式的資料 json格式的資料我們經常用於網路與客戶端之間的資料交流,json相對於傳統的xml,更加簡潔,所以應用也越來越廣泛,也常被用於本地儲存 Android SDK用於讀寫JSON格式的資料的主要的兩個類:JsonWriter和JsonR
Spring配置資料來源的四種方式(小結)
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSc
執行緒同步的四種方式(一)
併發concurent與並行parallel的區別: 互斥物件 首先我們需要建立CreateMutex一把互斥物件,我們可以指明當前執行緒是否擁有它,互斥物件完全就像一把鑰匙一樣,我們用WaitForSignalObject來等待這把鑰匙,但是這把鑰匙被等到
python呼叫dll中特定函式的兩種方式(ctypes)
1.直接使用函式名,函式名可以用dependency walker等工具檢視。 import ctypes dll = CTYPES.CDLL("test.dll") res = test(3, 4)
建立字串物件的六種方法(java)
package javaBasic; public class StringConstruction { public static void main(String[] args) { String str0 = new String("HelloJava");//0.String(Str
二分查詢的兩種實現(Java)
查詢過程 首先,假設表中元素是按升序排列,將表中間位置記錄的關鍵字與查詢關鍵字比較,如果兩者相等,則查詢成功;否則利用中間位置記錄將表分成前、後兩個子表,如果中間位置記錄的關鍵字大於查詢關鍵字,則進一步查詢前一子表,否則進一步查詢後一子表。重複以上過程,直到找到滿足條件的記錄,使查詢成功