導航:首頁 > 編程語言 > javatimer多個

javatimer多個

發布時間:2024-02-28 05:59:05

java.util.Timer,創建多個任務如何管理

你該把各個TimingTask的實例對象管理起來,而不是用匿名類對象吧
TimingTask tasks[]=new TimingTask[2];
tasks[0]=new TimingTask(){
run(){ 動作1 }
};
tasks[1]=new TimingTask(){
run(){ 動作2 }
};
tasks[0].cancel(); //取消動作一

當然也可以把數組[]改成List,便於動態添加和刪除

Ⅱ java 定時器 一天有多個時間點執行同一個程序如何實現

import java.util.*;
class MyTime
{
int hour; int minute;
MyTime(int hour,int minute){
this.hour=hour;
this.minute=minute;
}
}
public class AboutTime
{
public static void main(String args[]){
final MyTime mt=new MyTime(11,24);
//這里,假設程序運行時,是在早上8點半之前的。其他情況,你自行分析
Calendar cal=Calendar.getInstance();
//此方法獲得當前地域的時間,注意,getInstance是靜態方法
cal.set(cal.HOUR, mt.hour);//設置你所要等待的時刻
cal.set(cal.MINUTE, mt.minute);
Calendar cal2=Calendar.getInstance();//
long time1=cal.get(cal.HOUR_OF_DAY)*3600+cal.get(cal.MINUTE)*60;//將兩個時刻都轉換成秒數,以便進行相減
long time2=cal2.get(cal2.HOUR_OF_DAY)*3600+cal2.get(cal2.MINUTE)*60+cal2.get(cal2.SECOND);
final long waitTime=time1-time2;//此時獲得當前時刻與要等待時刻的時間差,單位是秒
//這里說明一下,現在所指的當前時刻是「Calendar cal2=Calendar.getInstance()」這句執行時所獲得的時刻
//獲得後,它的各值(秒,分,時)等信息都不會改變。當然,運行幾行代碼,花不了幾毫秒。所以
//雖然之前的cal2的時間信息與運行三行代碼以後的時間信息是差不多的
System.out.println(waitTime);//此行用於測試
new Thread(new Runnable(){
public void run(){
try{
for(long l=0;l<waitTime;l++){
Thread.sleep(1000);
System.out.println("###");//一秒打一個,當然,告訴你正在計時
//這里用多線程,因為運行後,可以繼續運行主線程。不影響你干其他事兒。
}
}
catch(InterruptedException e){}
System.out.println(mt.hour+":"+mt.minute+"到了");
}
}).start();
//不過,你說一天要三次計算。這很容易,如何實現,由你自己決定。
}
}

Ⅲ java定時器用什麼實現

java定時器的使用()
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同時使用兩個Timer如何不幹擾。。。求高手解決。。。。。

使用Timer的scheleAtFixedRate() 方法就可以保證重復間隔時間的穩定

Ⅳ 怎樣用Timer定時器執行多個定時任務

package comz.autoupdatefile;

import java.util.Timer;
import java.util.TimerTask;

public class M {
public static void main(String[] args) {
內// TODO todo.generated by zoer
Timer timer = new Timer();
timer.schele(new MyTask(), 1000, 2000);
timer.schele(new MyTask1(), 1000, 2000);
}
}

class MyTask extends TimerTask {

@容Override
public void run() {
System.out.println("dddd");

}

class MyTask1 extends TimerTask {

@Override
public void run() {
System.out.println("eeee");

}

}

Ⅵ java timer太多會影響性能嗎

大量的運用timer時每一個timer又開起一個或是多個線程,每一個線程又要做自己的事情。必然要會影響性能。

Ⅶ 兩個java timer定時器如何相互調用

java.util.Timer類,這個類復是java里的定時器類制.schele()方法重構多次,可以定時重復執行任務.具體使用可以查看手冊
給你一個簡單的例子..從1000ms開始,每隔1000ms執行一次run方法
package demo;

import java.util.Timer;
import java.util.TimerTask;

public class TimerTest {

public static void main(String[] args) {
Timer t = new Timer();
t.schele(new TimerTask() {

@Override
public void run() {
//這里寫你需要執行的任務,需要什麼參數可以傳進來..
System.out.println("定時任務....");

}
},1000,1000);

}
}

閱讀全文

與javatimer多個相關的資料

熱點內容
壓縮完了文件去哪裡找 瀏覽:380
武裝突襲3浩方聯機版本 瀏覽:674
網路機頂盒移動網路 瀏覽:391
iphone手機百度雲怎麼保存到qq 瀏覽:148
資料庫設計與實踐讀後感 瀏覽:112
js對象是什麼 瀏覽:744
網頁文件存pdf 瀏覽:567
文件夾正裝 瀏覽:279
剛復制的文件找不到怎麼辦 瀏覽:724
試運行適用於哪些體系文件 瀏覽:987
ghost文件復制很慢 瀏覽:967
傑德原車導航升級 瀏覽:240
編程dest是什麼意思 瀏覽:935
linux埠鏡像 瀏覽:820
iphone5屏幕清塵 瀏覽:157
機頂盒密碼怎麼改 瀏覽:672
w7系統下載32位教程 瀏覽:618
pcb文件包括哪些內容 瀏覽:598
g00文件 瀏覽:607
用bat程序刪除程序 瀏覽:516

友情鏈接