java定時器,java定時器的使用Timer

本文目錄一覽:

有關Java定時器的問題

這樣改:

public class Test extends java.util.TimerTask{

public int i=0 ;

public static void main(String[] args) {

final Timer t = new Timer();

t.schedule(new Test(),1000,2000);

}

public void run() {

System.out.println(“sss”);

i++;

System.out.println(i);

if(i == 3)

cancel();

}

}

java定時器怎麼停止

1、scheduleUpdate

加入當前節點後,程序會每幀都會自動執行一次默認的Update函數。(註:一定是Update函數哦,若想調用其他自己命名的函數則使用schedule)

看例子,走起。

首先在HelloWord類的頭文件中聲明Update函數:

[cpp] view plain copy print?

void update(float dt); //注意參數類型

然後在HelloWorld類源文件中實現函數Update:

[cpp] view plain copy print?

void HelloWorld::update(float dt)

{

CCLOG(“baibai”);

}

現在我們可以調用了,在需要他不斷執行的地方加入調用的代碼就ok:

[cpp] view plain copy print?

this-scheduleUpdate(); //this是當前節點,如layer,所以可以省略啦。

運行之後你將會看到不斷有baibai被列印出來

2、scheduleUpdate

可以沒隔幾秒執行某個自定義的函數,來看代碼:

首先還是在HelloWorld中聲明所要執行的函數:

java定時器會空轉嗎

不會。

1、可以採用睡眠,sleep(),比較low。

2、在java類庫中已經寫好了定時器,java.util.Timer。可以拿來用,用的少,很多高級框架都是支持定時任務的。

java定時器用什麼實現

java定時器的使用(Timer)

1、在應用開發中,經常需要一些周期性的操作,比如每5分鐘執行某一操作等。

對於這樣的操作最方便、高效的實現方式就是使用java.util.Timer工具類。

private java.util.Timer timer;

timer = new Timer(true);

timer.schedule(

new java.util.TimerTask() { public void run()

{ //server.checkNewMail(); 要操作的方法} }, 0, 5*60*1000);

第一個參數是要操作的方法,第二個參數是要設定延遲的時間,第三個參

數是周期的設定,每隔多長時間執行該操作。

使用這幾行代碼之後,Timer本身會每隔5分鐘調用一遍

server.checkNewMail()方法,不需要自己啟動線程。Timer本身也是多線程同

步的,多個線程可以共用一個Timer,不需要外部的同步代碼。

2、

(1)Timer.schedule(TimerTask task,Date time)安排在制定的時間執行指定的

任務。

(2)Timer.schedule(TimerTask task,Date firstTime ,long period)安排指定

的任務在指定的時間開始進行重複的固定延遲執行.

(3)Timer.schedule(TimerTask task,long delay)安排在指定延遲後執行指定的

任務.

(4)Timer.schedule(TimerTask task,long delay,long period)安排指定的任務

從指定的延遲後開始進行重複的固定延遲執行.

(5)Timer.scheduleAtFixedRate(TimerTask task,Date firstTime,long period)

安排指定的任務在指定的時間開始進行重複的固定速率執行.

(6)Timer.scheduleAtFixedRate(TimerTask task,long delay,long period)安

排指定的任務在指定的延遲後開始進行重複的固定速率執行.

用Java Timer API 進行時間調度開發的相關注意點

java.util這個包中可以找到Timer和TimerTask這兩個類。Timer直接從Object

繼承,它相當於一個計時器,能夠用它來指定某個時間來執行一項任務,或者

每隔一定時間間隔反覆執行同一個任務。創建一個Timer後,就會生成一個線程

在背後運行,來控制任務的執行。而TimerTask就是用來實現某項任務的類,

它實現了Runnable介面,因此相當於一個線程。

java定時器

import java.io.IOException;

import java.util.Timer;

public class TimerTest {

public static void main(String[] args) {

Timer timer = new Timer();

timer.schedule(new MyTask(), 1000, 2000);// 在1秒後執行此任務,每次間隔2秒,如果傳遞一個Data參數,就可以在某個固定的時間執行這個任務.

while (true) {// 這個是用來停止此任務的,否則就一直循環執行此任務了

try {

int ch = System.in.read();

if (ch – ‘c’ == 0) {

timer.cancel();// 使用這個方法退出任務

}

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

static class MyTask extends java.util.TimerTask {

@Override

public void run() {

// TODO Auto-generated method stub

System.out.println(“________”);

}

}

}

這段代碼基本能滿足你需求了 你還有需求就在上面再套一層job 當然如過太複雜了而且這種定時需求很多的話 建議用quartz框架 使用很簡單

原創文章,作者:QNQNM,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/318117.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
QNQNM的頭像QNQNM
上一篇 2025-01-11 16:28
下一篇 2025-01-11 16:28

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論