java当中的定时器的4种使用方式

对于开发游戏项目的同胞来说,Timer 这个东西肯定不会陌生,今天对以前自己经常使用的定时进行了一番小小的总结!没有写具体实现的原理,只是列举出了其中的四种比较常见的使用方法,相对而言,所以只要按照其所列举的例子仿照即可!

 1 import java.util.Calendar;
 2 import java.util.Date;
 3 import java.util.Timer;
 4 import java.util.TimerTask;
 5
 6 public class TimeTest {
 7   public static void main(String[] args) {
 8     timer1();
 9     //timer2();
10     //timer3();
11     //timer4();
12   }
13
14   // 第一种方法:设定指定任务task在指定时间time执行 schedule(TimerTask task, Date time)
15   public static void timer1() {
16     Timer timer = new Timer();
17     timer.schedule(new TimerTask() {
18       public void run() {
19         System.out.println("-------设定要指定任务--------");
20       }
21     }, 2000);// 设定指定的时间time,此处为2000毫秒
22   }
23
24   // 第二种方法:设定指定任务task在指定延迟delay后进行固定延迟peroid的执行
25   // schedule(TimerTask task, long delay, long period)
26   public static void timer2() {
27     Timer timer = new Timer();
28     timer.schedule(new TimerTask() {
29       public void run() {
30         System.out.println("-------设定要指定任务--------");
31       }
32     }, 1000, 5000);
33   }
34
35   // 第三种方法:设定指定任务task在指定延迟delay后进行固定频率peroid的执行。
36   // scheduleAtFixedRate(TimerTask task, long delay, long period)
37   public static void timer3() {
38     Timer timer = new Timer();
39     timer.scheduleAtFixedRate(new TimerTask() {
40       public void run() {
41         System.out.println("-------设定要指定任务--------");
42       }
43     }, 1000, 2000);
44   }
45
46   // 第四种方法:安排指定的任务task在指定的时间firstTime开始进行重复的固定速率period执行.
47   // Timer.scheduleAtFixedRate(TimerTask task,Date firstTime,long period)
48   public static void timer4() {
49     Calendar calendar = Calendar.getInstance();
50     calendar.set(Calendar.HOUR_OF_DAY, 12); // 控制时
51     calendar.set(Calendar.MINUTE, 0);    // 控制分
52     calendar.set(Calendar.SECOND, 0);    // 控制秒
53
54     Date time = calendar.getTime();     // 得出执行任务的时间,此处为今天的12:00:00
55
56     Timer timer = new Timer();
57     timer.scheduleAtFixedRate(new TimerTask() {
58       public void run() {
59         System.out.println("-------设定要指定任务--------");
60       }
61     }, time, 1000 * 60 * 60 * 24);// 这里设定将延时每天固定执行
62   }
63 }
时间: 2024-07-31 14:31:33

java当中的定时器的4种使用方式的相关文章

java 程序执行输出有两种简单方式

java 程序执行输出有两种简单方式: 1. System.out.println("需要输出的内容"): 该方法可参看运行一个简单的Java程序 结果图: 2. System.out.print("需要输出的内容"): 1 public class HelloWorld 2 { 3 //Java程序的入口方法,程序将从这里开始运行 4 public static void main(String[] args) 5 { 6 //向控制台打印一条语句 7 Syste

STM32 通用定时器的几种配置方式

STM32 通用定时器的几种配置方式 //------------------------------------------------------------------------------ // 1.普通定时使用 #include"stm32f10x.h" #include"time.h" static Time_NVIC_Config( void ) { NVIC_InitTypeDef NVIC_InitStructure; NVIC_SetVecto

java 定时器的几种实现方式以及 配置参数的说明

2.java中常见的定时器 1)借助Java.util.Timer来实现 2)OpenSymphony社区提供的Quartz来实现 3.介绍Timer 利用Timer开发定时任务是主要分为两个步骤: 1)创建定时任务类 示例代码: package org.lzstone.action import java.util.TimeTask public class LzstoneTimeTask extends TimeTask{ public void run(){ //执行的定时器任务 } }

Java连载66-数组的两种初始化方式

一.数组 1.数组中存储元素的类型是统一的,每一个元素在内存中所占用的空间大小是相同的,知道数组的首元素的内存地址,要查找的元素只要知道下标,就可以快速的计算出偏移量,通过首元素内存地址加上偏移量,就可以快速计算出要查找元素的内存地址.通过内存地址快速定位该元素,所以数组查找元素的效率较高. 2.随机的对数组进行增删元素,当增加元素的时候,为了保证数组中元素在空间存储上是有序的,所以被添加元素位置后面的所有元素都要向后移动,删除元素也是,后面所有的元素要向前移动,所以数组的增删元素?效率很低.

java中ArrayList集合的三种遍历方式

public class ListDemo { public static void main(String[] args) { ArrayList<String> mList = new ArrayList<>(); mList.add("郭靖"); mList.add("黄蓉"); mList.add("洪七公"); mList.add("周伯通"); // 第一种遍历方式:普通for循环 for

java框架篇---spring aop两种配置方式

第一种:注解配置AOP 注解配置AOP(使用 AspectJ 类库实现的),大致分为三步: 1. 使用注解@Aspect来定义一个切面,在切面中定义切入点(@Pointcut),通知类型(@Before, @AfterReturning,@After,@AfterThrowing,@Around). 2. 开发需要被拦截的类. 3. 将切面配置到xml中,当然,我们也可以使用自动扫描Bean的方式.这样的话,那就交由Spring AoP容器管理. 另外需要引用 aspectJ 的 jar 包:

Java基础之线程的两种实现方式

进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程!线程总是属于某个线程,进程中的线程共享进程的内存 注意:对Java来说,run()方法没有任何特别之处.像main()方法一样,它只是新线程知道调用的方法名称(和签名).因此,在Runnable上或者Thread上调用run方法是合法的.但并不启动新的线程,启动新的线程要调用start()方法 在Java中提供了两种方式实现线程:1.继承Thread类 package unit_fifteen; p

java项目部署Linux服务器几种启动方式总结经验

一:两种部署包: 部署之前先说下两种包,java项目部署到服务器一般有用war包的,也有用jar包的,微服务spring-cloud普及后大部分打包都是jar,部署之前先搞清楚自己要打war包还是jar包,下面小介绍两种包的区别: spring boot既可以打成war发布,也可以找成jar包发布.说一下区别: jar包:直接通过内置tomcat运行,不需要额外安装tomcat.如需修改内置tomcat的配置,只需要在spring boot的配置文件中配置.内置tomcat没有自己的日志输出,全

java中进程与线程--三种实现方式

一:进程与线程 概述:几乎任何的操作系统都支持运行多个任务,通常一个任务就是一个程序,而一个程序就是一个进程.当一个进程运行时,内部可能包括多个顺序执行流,每个顺序执行流就是一个线程. 进程:进程是指处于运行过程中的程序,并且具有一定的独立功能.进程是系统进行资源分配和调度的一个单位.当程序进入内存运行时,即为进程. 进程的三个特点: 1:独立性:进程是系统中独立存在的实体,它可以独立拥有资源,每一个进程都有自己独立的地址空间,没有进程本身的运行,用户进程不可以直接访问其他进程的地址空间. 2: