导航:首页 > 编程语言 > java每隔一段时间执行

java每隔一段时间执行

发布时间:2022-05-29 11:10:37

java中 如何使用延迟

JAVA中使用延迟主要有以下两种方法:
1、使用Timer类
Timer类的schele方法可以按照时间计划执行程序。
public static void main(String[] args) {
Timer timer = new Timer();
TimerTask timerTask = new MyTimerTask();
timer.schele(timerTask, 10000, 10000);
}
schele方法中需要传入一个TimerTask类型的对象,该对象需要继承并实现TimerTask类的run方法,或者以匿名内部类的方式实现run方法。schele的第二个参数为程序第一次执行run方法的延时时间,第三个参数为执行完第一次run方法后延时循环执行run方法的时间。例如,上面的程序就是延时10s执行timerTask的run方法,执行完毕之后每隔10s执行一次run方法。
实现了run方法后就会根据schele设置的时间计划来执行。schele的参数也可以不要循环时间,只延时执行一次,还有多种重载的schele方法,可以根据实际情况使用。
2、使用Thread
Thread.currentThread().sleep(10000);
使线程暂停一段时间。

❷ 如何在JAVA中每隔一段时间执行一段程序

可以用线程来做,每隔几秒开一个线程
代码如下
public void runTask() {
final long timeInterval = 120000;// 两分钟运行一次
final ThreadService threadService = new ThreadService();
Runnable runnable = new Runnable() {
public void run() {
while (true) {
// ------- code for task to run
//你要运行的程序
// ------- ends here
try {
Thread.sleep(timeInterval);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
};
Thread thread = new Thread(runnable);
thread.start();
}

❸ 怎么用Java实现定时执行某程序

java中设置定时任务用Timer类可以实现。
一、延时执行
首先,我们定义一个类,给它取个名字叫TimeTask,我们的定时任务,就在这个类的main函数里执行。代码如下:
package test;
import java.util.Timer;
public class TimeTask {
public static void main(String[] args){
Timer timer = new Timer();
timer.schele(new Task(), 60 * 1000);
}
}
解释一下上面的代码。
上面的代码实现了这样一个功能,当TimeTask程序启动以后,过一分钟后执行某项任务。很简单吧:先new一个Timer对象,然后调用它的schele方法,这个方法有四个重载的方法,这里我们用其中一个,
public void schele(TimerTask task,long delay)
首先,第一个参数
第一个参数就是我们要执行的任务。
这是一个TimerTask对象,确切点说是一个实现TimerTask的类的对象,因为TimerTask是个抽象类。上面的代码里面,Task就是我们自己定义的实现了TimerTask的类,因为是在同一个包里面,所以没有显性的import进来。Task类的代码如下
package test;
import java.util.TimerTask;
public class Task extends TimerTask {
public void run(){
System.out.println("定时任务执行");
}
}
我们的Task必须实现TimerTask的方法run,要执行的任务就在这个run方法里面,这里,我们只让它往控制台打一行字。
第二个参数
第二个参数是一个long型的值。这是延迟的时间,就是从程序开始以后,再过多少时间来执行定时任务。这个long型的值是毫秒数,所以前面我们的程序里面,过一分钟后执行用的参数值就是 60 * 1000。
二、循环执行
设置定时任务的时候,往往我们需要重复的执行这样任务,每隔一段时间执行一次,而上面的方法是只执行一次的,这样就用到了schele方法的是另一个重载函数
public void schele(TimerTask task,long delay,long period)
前两个参数就不用说什么了,最后一个参数就是间隔的时间,又是个long型的毫秒数(看来java里涉及到时间的,跟这个long是脱不了干系了),比如我们希望上面的任务从第一次执行后,每个一分钟执行一次,第三个参数值赋60 * 1000就ok了。
三、指定执行时间
既然号称是定时任务,我们肯定希望由我们来指定任务指定的时间,显然上面的方法就不中用了,因为我们不知道程序什么时间开始运行,就没办法确定需要延时多少。没关系,schele四个重载的方法还没用完呢。用下面这个就OK了:
public void schele(TimerTask task,Date time)
比如,我们希望定时任务2006年7月2日0时0分执行,只要给第二个参数传一个时间设置为2006年7月2日0时0分的Date对象就可以了。
有一种情况是,可能我们的程序启动的时候,已经是2006年7月3日了,这样的话,程序一启动,定时任务就开始执行了。
schele最后一个重载的方法是
public void schele(TimerTask task,Date firstTime,long period)

❹ Java+cron定时任务指定时间后每隔28执行一次

摘要 Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:

❺ 求一个Java定时触发程序运行的例子

你好,我帮你找到了,你看一下吧,希望对你有用。

在某些时候, 我们需要实现这样的功能,某一程序隔一段时间执行一次,而这一事情由系统本身来完成,并不是人为的触发,我们一般可称此为定时器任务.

这类技术主要应用到那些需要进行后台整理数据的系统中,比如说数据仓储,数据挖掘等.

其实到Java中,实现起来是非常简单的,下面我们以每隔5秒钟打引一句"Hello world"为例:

import java.util.TimerTask;

public class TimeTast extends TimerTask ...{
// 在这里写你要定时执行的方法
public void run() ...
System.out.println("Hello World!");
}
}

import java.util.Date;
import java.util.Timer;

/** *//**
* 定时器测试
* @author FeGe
*/
public class Test ...{

public void execute() ...{
Timer timer = new Timer();
TimeTast myTimeTask = new TimeTast();
Date date = new Date();
long timestamp = 5000;
/** *//**
* myTimeTask 指定执行的线程 date 指定第一次日期执行的时间 timestamp 指定每格多久再次执行一次
*/
timer.schele(myTimeTask, date, timestamp);
}

public static void main(String[] args) ...{
Test t = new Test();
t.execute();
}
}

一个最简单的定时器任务就算完成了。是不是太简单了点呢,其实就这么简单

❻ java怎么指定某段代码在固定时间点前执行

packagethread.timer;

importjava.util.Calendar;
importjava.util.Timer;
importjava.util.TimerTask;

publicclassTimerTest{

publicstaticvoidmain(String[]args){
Timert=newTimer();
TimerTasktask=newTimerTask(){
@Override
publicvoidrun(){
System.out.println("Taskisprocessing.");//此处可以插入自己想运行的代码片段
}
};
Calendarc=Calendar.getInstance();
c.set(Calendar.MINUTE,26);//时间可以自己设置
t.schele(task,c.getTime());
}
}

❼ java是否可以实现心跳的程序

java是可以实现心跳的程序的。

心跳顾名思义就是每隔一段时间执行,或者轮询查询状态,可以使用timer来实现,代码如下:

定时器可以实现
//1000毫秒,固定时间,每隔1秒钟执行一次actionPerformed方法
javax.swing.Timerclock=newjavax.swing.Timer(1000,newActionListener(){
publicvoidactionPerformed(ActionEvente){
//执行心跳方法
/**...*/
//调用其他方法
/**...*/
}

});
clock.start();

可以独立用个线程管理,也可以直接写在主线程中

❽ Java 怎么在指定的时间内执行某一任务

可以通过死循环的方式来进行实现:第一步就是获取到当前的时间,之后和需要执行的时间进行比较,找出时间差,先让线程停止,之后到时见开始执行死循环,执行完成之后再设置线程等待时间,之后重复执行即可,代码举例如下:
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String str = sdf.format(date);
//此处实现更改为其余的时间
Thread.sleep(睡觉的时间);
for(;;){
//执行某一个方法

//此处实现更改为其余的时间
Thread.sleep(睡觉的时间);
}
备注:上面的部分代码已经有说明,直接根据说明实现即可。这个只是一种简单的实现思路,通常复杂的都需要quazter来实现。

❾ java中如何每隔一段时间执行一个函数

java.util.Timer
创建一个Timer 然后调用Timer的scheleAtFixedRate函数,需要自己定义要执行的任务,任务运行间隔的时间,和从什么时间开始执行这个任务,具体可以参考JAVA的API文档

阅读全文

与java每隔一段时间执行相关的资料

热点内容
小熊编程教程 浏览:908
word转换成pdf转换器免费下载 浏览:608
群体智能基本算法 浏览:370
可编程软件分为哪两种 浏览:340
格林什么app可以看 浏览:697
飞卢app仙侠热卖推荐怎么样 浏览:722
飞秋上传文件到共享文件夹 浏览:691
服务器的共享文件夹如何访问 浏览:232
复盛螺杆压缩机讲解 浏览:332
柱在基础插筋需要加密吗 浏览:80
51单片机中断寄存器 浏览:65
压缩文件后有病毒怎么办 浏览:618
苹果ipad怎么登安卓王者账号 浏览:862
街头足球服务器已满是什么意思 浏览:462
androidspeex回音消除 浏览:133
加密会议什么意思 浏览:34
ubuntu命令行联网 浏览:7
37选7中奖概率及算法 浏览:593
加密狗哪个版本好 浏览:619
cisco命令手册 浏览:502