java定时器,java定时器的实现方式有几种

本文目录一览:

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框架 使用很简单

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接口,因此相当于一个线程。

原创文章,作者:OKTAQ,如若转载,请注明出处:https://www.506064.com/n/329696.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
OKTAQOKTAQ
上一篇 2025-01-14 18:55
下一篇 2025-01-14 18:55

相关推荐

  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 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

发表回复

登录后才能评论