導航:首頁 > 編程語言 > java定時器耗資源嗎

java定時器耗資源嗎

發布時間:2024-08-12 13:51:14

A. 在java中如何實現較為精確的定時器

大部分人在遇到需要使用定時任務的時候首先會想到Timer類,
不過在JDK5.0之後就不建議使用這個專Timer了,因為它有很屬多的缺陷。
在新的java.util.concurrent包中的ScheledExecutorService可以替代這個Timer:
使用方法舉例:

Java代碼
ScheledThreadPoolExecutor exec = new ScheledThreadPoolExecutor(1);
exec.scheleAtFixedRate(new Runnable() {
public void run() {
try{
throw new RuntimeException();
}catch (Exception e){
System.out.println("RuntimeException catched");
}
}
}, 1000, 5000, TimeUnit.MILLISECONDS);

B. 求高手指點一二,我需要用java編寫一個定時器,每天8點開始執行,每一個小時執行一次,過了晚上12點停止

ScheledExecutorServiceservice=Executors.();
service.scheleAtFixedRate(newTimerTask(){
@Override
publicvoidrun(){
if(當前時間>8點){
dowork();//你要做的事
}
if(當前時間>12點){
this.cancel();
}
}
},0,1,TimeUnit.HOURS);

C. java中在定時器,定時每周一定時執行某個任務,必須在周一重新啟動了服務,該任務就會在指定的時間點執行

最常來用的做法是使用UNIX的cron直接執行源Java程序
並不需要在Java做的那麼復雜。

Windows伺服器也有類似於cron的任務管理功能,同理

--------------------------->
Tomcat不是用來管理定時任務的,如果沒有HTTP請求,Servlet是不會被執行的。

建議lz把定期執行的處理做成一個獨立的Java程序,用cron執行。
如果不想寫獨立的Java程序,也可以用cron定期向Tomcat發送Http請求,但是,這樣做的話注意程序處理時間不能太長,因為HTTP通信有timeout的制約。

D. java定時線程佔用伺服器資源嗎

會占資源,但是不會占很多。就是開一個線程的開銷。它sleep的時候,會釋放cpu的

E. java定時器與線程的區別

javax.swing.Timer
盡管所有 Timer 都使用來一個共享線程源(由第一個執行操作的 Timer 對象創建)執行等待,但是 Timer 的動作事件處理程序還會在其他線程(事件指派線程上)執行。這意味著 Timer 的操作處理程序可以安全地在 Swing 組件上執行操作。但是,它也意味著處理程序必須快速執行以保證 GUI 作出響應。
java.util.Timer
一種工具,線程用其安排以後在後台線程中執行的任務。可安排任務執行一次,或者定期重復執行。
簡單理解,javax.swing.Timer沒有增加線程,利用事件線程的間隙運行,java.util.Timer增加線程了。

F. java寫一個定時器,定時對一個變數賦不同值,這個程序代碼怎麼寫

比較復雜點的需要Quartz,引入jar包,然後再需要配置一些東西,詳細參考如下。
http://..com/question/382322468.html
簡單點的直接可以這樣內寫容
while(true){
xxx//作時間間隔判斷,或者當前時間與上一執行時間間隔。
i=j;//i 是你變數,j是動態的值

}

G. 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定時器耗資源嗎相關的資料

熱點內容
重裝系統後顯示硬碟文件缺失 瀏覽:65
微信發送的文件都損壞了 瀏覽:402
大量計算用什麼編程方式好 瀏覽:241
編程器刷微星bios刷哪個文件 瀏覽:111
選擇小米手機3版本 瀏覽:314
iphone鏈接 瀏覽:110
9元編程課是什麼 瀏覽:436
cad為什麼不能輸入stl文件 瀏覽:78
編程與外語哪個更好就業 瀏覽:299
為什麼程序會跑飛 瀏覽:659
matlab中的m文件是什麼 瀏覽:226
excel批量保存pdf文件 瀏覽:963
win10文件夾死機動不了 瀏覽:411
ps打開多頁pdf文件 瀏覽:901
資料庫統計某一欄位值出現次數 瀏覽:705
學編程需要哪些方面的能力 瀏覽:896
在word2003表格中插入一行 瀏覽:606
怎麼把拍照取字的文件轉成pdf 瀏覽:838
小米穿戴app哪裡更換表盤 瀏覽:911
滿足該條件更改文件內容的代碼 瀏覽:503

友情鏈接