java當(dāng)中的定時(shí)器的4種使用方式
對于開發(fā)游戲項(xiàng)目的同胞來說,Timer 這個(gè)東西肯定不會陌生,今天對以前自己經(jīng)常使用的定時(shí)進(jìn)行了一番小小的總結(jié)!沒有寫具體實(shí)現(xiàn)的原理,只是列舉出了其中的四種比較常見的使用方法,相對而言,所以只要按照其所列舉的例子仿照即可!
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class TimeTest {
public static void main(String[] args) {
timer1();
//timer2();
//timer3();
//timer4();
}
// 第一種方法:設(shè)定指定任務(wù)task在指定時(shí)間time執(zhí)行 schedule(TimerTask task, Date time)
public static void timer1() {
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
System.out.println("-------設(shè)定要指定任務(wù)--------");
}
}, 2000);// 設(shè)定指定的時(shí)間time,此處為2000毫秒
}
// 第二種方法:設(shè)定指定任務(wù)task在指定延遲delay后進(jìn)行固定延遲peroid的執(zhí)行
// schedule(TimerTask task, long delay, long period)
public static void timer2() {
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
System.out.println("-------設(shè)定要指定任務(wù)--------");
}
}, 1000, 5000);
}
// 第三種方法:設(shè)定指定任務(wù)task在指定延遲delay后進(jìn)行固定頻率peroid的執(zhí)行。
// scheduleAtFixedRate(TimerTask task, long delay, long period)
public static void timer3() {
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
System.out.println("-------設(shè)定要指定任務(wù)--------");
}
}, 1000, 2000);
}
// 第四種方法:安排指定的任務(wù)task在指定的時(shí)間firstTime開始進(jìn)行重復(fù)的固定速率period執(zhí)行.
// Timer.scheduleAtFixedRate(TimerTask task,Date firstTime,long period)
public static void timer4() {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 12); // 控制時(shí)
calendar.set(Calendar.MINUTE, 0); // 控制分
calendar.set(Calendar.SECOND, 0); // 控制秒
Date time = calendar.getTime(); // 得出執(zhí)行任務(wù)的時(shí)間,此處為今天的12:00:00
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
System.out.println("-------設(shè)定要指定任務(wù)--------");
}
}, time, 1000 * 60 * 60 * 24);// 這里設(shè)定將延時(shí)每天固定執(zhí)行
}
}
- Java定時(shí)任務(wù)的三種實(shí)現(xiàn)方法
- Java中指定時(shí)區(qū)的3種方法
- Java定時(shí)器Timer使用方法詳解
- Java定時(shí)任務(wù)的三種實(shí)現(xiàn)方式
- java定時(shí)調(diào)度器(Quartz)使用實(shí)例
- Java 定時(shí)器(Timer,TimerTask)詳解及實(shí)例代碼
- java定時(shí)任務(wù)Timer和TimerTask使用詳解
- Java實(shí)現(xiàn)定時(shí)任務(wù)最簡單的3種方法
- Java中的定時(shí)器Timer詳解
- RxJava2.x實(shí)現(xiàn)定時(shí)器的實(shí)例代碼
- java基于QuartzJobBean實(shí)現(xiàn)定時(shí)功能的示例代碼
相關(guān)文章
解決IDEA啟動springboot項(xiàng)目報(bào)錯(cuò)java.lang.ClassNotFoundException:?jav
這篇文章主要介紹了解決IDEA啟動springboot項(xiàng)目報(bào)錯(cuò)java.lang.ClassNotFoundException:?javax.servlet.ServletContext問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
Spring中ApplicationContextAware的使用方法詳解
ApplicationContextAware?通過它Spring容器會自動把上下文環(huán)境對象調(diào)用ApplicationContextAware接口中的setApplicationContext方法,這篇文章主要介紹了Spring中ApplicationContextAware的作用,需要的朋友可以參考下2023-03-03
淺談Java中生產(chǎn)者與消費(fèi)者問題的演變
這篇文章主要介紹了淺談Java中生產(chǎn)者與消費(fèi)者問題的演變,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-10-10
Spring Boot 2.x基礎(chǔ)教程之配置元數(shù)據(jù)的應(yīng)用
這篇文章主要介紹了Spring Boot 2.x基礎(chǔ)教程之配置元數(shù)據(jù)的應(yīng)用,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
Eclipse+Webservice簡單開發(fā)實(shí)例
這篇文章主要介紹了Eclipse+Webservice簡單開發(fā)實(shí)例的相關(guān)資料,需要的朋友可以參考下2016-02-02
Java中Stringbuild,Date和Calendar類的用法詳解
這篇文章主要為大家詳細(xì)介紹了Java中Stringbuild、Date和Calendar類的用法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下2023-04-04
SSH框架網(wǎng)上商城項(xiàng)目第30戰(zhàn)之項(xiàng)目總結(jié)(附源碼下載地址)
這篇文章主要介紹了SSH框架網(wǎng)上商城項(xiàng)目第30戰(zhàn)之項(xiàng)目總結(jié),并附源碼下載地址,感興趣的小伙伴們可以參考一下2016-06-06
Quarkus集成open api接口使用swagger ui展示
這篇文章主要為大家介紹了Quarkus集成open?api接口使用swagger?ui的展示示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-02-02
MyBatis-Plus 分頁插件配置的兩種方式實(shí)現(xiàn)
本文主要介紹了MyBatis-Plus 分頁插件配置的兩種方式實(shí)現(xiàn),包括使用PaginationInterceptor和MybatisPlusInterceptor兩種方式,具有一定的參考價(jià)值,感興趣的可以了解一下2025-03-03

