定時器java
『壹』 java 定時器功能
這么干:
import java.util.Timer;
import java.util.TimerTask;
public class TimerTest {
public static void main(String[] args) {
final TimerTest test = new TimerTest();
Timer timer = new Timer();
timer.schele(new TimerTask() {
@Override
public void run() {
test.method1();
}
}, 0, 60000);
timer.schele(new TimerTask() {
@Override
public void run() {
test.method2();
}
}, 10000, 60000);
timer.schele(new TimerTask() {
@Override
public void run() {
test.method3();
}
}, 30000, 60000);
}
public void method1() {
System.out.println("method1 start!");
long startTime = System.currentTimeMillis();
long nowTime = System.currentTimeMillis();
while (nowTime - startTime < 10000) {
nowTime = System.currentTimeMillis();
}
System.out.println("method1 end!");
}
public void method2() {
System.out.println("method2 start!");
long startTime = System.currentTimeMillis();
long nowTime = System.currentTimeMillis();
while (nowTime - startTime < 20000) {
nowTime = System.currentTimeMillis();
}
System.out.println("method2 end!");
}
public void method3() {
System.out.println("method3 start!");
long startTime = System.currentTimeMillis();
long nowTime = System.currentTimeMillis();
while (nowTime - startTime < 30000) {
nowTime = System.currentTimeMillis();
}
System.out.println("method3 end!");
}
}
『貳』 java 中定時器timer是被什麼觸發的
java中有個定時任務java.util.TimerTask用法很簡單class MyTask extends java.util.TimerTask{@Overridepublic void run() {// 這個任何所執行的代碼}}java.util.Timer timer = new Timer(true);//treu就是守護線程MyTask task = new MyTask();//開始執行任務,第一個參數是任務,第二個是延遲時間,第三個是每隔多長時間執行一次timer.schele(task, 0 , 1000 * 60 * 60 * 24);
『叄』 java 定時器
把列印和寫文件放在一個TimerTask子類中
然後通過Timer.scheledAtFixTime()啟動這個task
具體參數請參考API
但是我不太明白你指的「定時器只有延時86400000毫秒(24小時)才能實現,」是什麼意思
『肆』 java類中的定時器
quartz中用有狀態的任務,他會在重復執行任務前判斷上一次是否已完成。
『伍』 java定時器
importjava.io.IOException;
importjava.util.Timer;
publicclassTimerTest{
publicstaticvoidmain(String[]args){
Timertimer=newTimer();
timer.schele(newMyTask(),1000,2000);//在1秒後執行此任務,每次間隔2秒,如果傳遞一個Data參數,就可以在某個固定的時間執行這個任務.
while(true){//這個是用來停止此任務的,否則就一直循環執行此任務了
try{
intch=System.in.read();
if(ch-'c'==0){
timer.cancel();//使用這個方法退出任務
}
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
staticclassMyTaskextendsjava.util.TimerTask{
@Override
publicvoidrun(){
//TODOAuto-generatedmethodstub
System.out.println("________");
}
}
}
這段代碼基本能滿足你需求了 你還有需求就在上面再套一層job 當然如過太復雜了而且這種定時需求很多的話 建議用quartz框架 使用很簡單
『陸』 java定時器怎麼停止
1、scheleUpdate
加入當前節點後,程序會每幀都會自動執行一次默認的Update函數。(註:一定是Update函數哦,若想調用其他自己命名的函數則使用schele)
看例子,走起。
首先在HelloWord類的頭文件中聲明Update函數:
[cpp] view plain print?
void update(float dt); //注意參數類型
然後在HelloWorld類源文件中實現函數Update:
[cpp] view plain print?
void HelloWorld::update(float dt)
{
CCLOG("");
}
現在我們可以調用了,在需要他不斷執行的地方加入調用的代碼就ok:
[cpp] view plain print?
this->scheleUpdate(); //this是當前節點,如layer,所以可以省略啦。
運行之後你將會看到不斷有被列印出來
2、scheleUpdate
可以沒隔幾秒執行某個自定義的函數,來看代碼:
首先還是在HelloWorld中聲明所要執行的函數:
『柒』 Java定時器的幾種用法
設定指定任務task在指定時間time執行schele(TimerTasktask,Datetime)
設定指定任務task在指定延遲delay後進行固定延遲peroid的執行
設定指定任務task在指定延遲delay後進行固定頻率peroid的執行
安排指定的任務task在指定的時間firstTime開始進行重復的固定速率period執行
『捌』 java定時器用什麼實現
java定時器的使用(Timer)
1、在應用開發中,經常需要一些周期性的操作,比如每5分鍾執行某一操作等。
對於這樣的操作最方便、高效的實現方式就是使用java.util.Timer工具類。
private java.util.Timer timer;
timer = new Timer(true);
timer.schele(
new java.util.TimerTask() { public void run()
{ //server.checkNewMail(); 要操作的方法} }, 0, 5*60*1000);
第一個參數是要操作的方法,第二個參數是要設定延遲的時間,第三個參
數是周期的設定,每隔多長時間執行該操作。
使用這幾行代碼之後,Timer本身會每隔5分鍾調用一遍
server.checkNewMail()方法,不需要自己啟動線程。Timer本身也是多線程同
步的,多個線程可以共用一個Timer,不需要外部的同步代碼。
2、
(1)Timer.schele(TimerTask task,Date time)安排在制定的時間執行指定的
任務。
(2)Timer.schele(TimerTask task,Date firstTime ,long period)安排指定
的任務在指定的時間開始進行重復的固定延遲執行.
(3)Timer.schele(TimerTask task,long delay)安排在指定延遲後執行指定的
任務.
(4)Timer.schele(TimerTask task,long delay,long period)安排指定的任務
從指定的延遲後開始進行重復的固定延遲執行.
(5)Timer.scheleAtFixedRate(TimerTask task,Date firstTime,long period)
安排指定的任務在指定的時間開始進行重復的固定速率執行.
(6)Timer.scheleAtFixedRate(TimerTask task,long delay,long period)安
排指定的任務在指定的延遲後開始進行重復的固定速率執行.
用Java Timer API 進行時間調度開發的相關注意點
java.util這個包中可以找到Timer和TimerTask這兩個類。Timer直接從Object
繼承,它相當於一個計時器,能夠用它來指定某個時間來執行一項任務,或者
每隔一定時間間隔反復執行同一個任務。創建一個Timer後,就會生成一個線程
在背後運行,來控制任務的執行。而TimerTask就是用來實現某項任務的類,
它實現了Runnable介面,因此相當於一個線程。
『玖』 java怎樣啟動定時器
ESET NOD32 我有激活號碼你給我100分我就給你可以用6個月
『拾』 java 定時器 timer
很簡單的一個程序,兩種實現方式,可以弄一個線程在一個while循環里一直跑,一次sleep一分鍾,判斷當前時間是否是你要的時間,如果是就觸發你的任務。
另外一種方法是,直接計劃三個任務,到時間它會自己執行:new Timer().schele(task, time);