「java计时器」java计时器原理

博主:adminadmin 2023-03-19 10:26:10 545

本篇文章给大家谈谈java计时器,以及java计时器原理对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java 中timer类的用法是什么?

现在项目中用到需要定时去检查文件是否更新的功能。timer正好用于此处。

用法很简单,new一个timer,然后写一个timertask的子类即可。

package comz.autoupdatefile;

import java.util.Timer;

import java.util.TimerTask;

public class M {

public static void main(String[] args) {

// TODO todo.generated by zoer

Timer timer = new Timer();

timer.schedule(new MyTask(), 1000, 2000);

}

}

class MyTask extends TimerTask {

@Override

public void run() {

System.out.println("dddd");

}

}

这样,就可以在1秒钟之后开始执行mytask,每两秒钟执行一次。

当然,timer的功能也可以通过自己构造线程,然后在线程中用sleep来模拟停止一段时间,然后再执行某个动作。

其实,看一下timertask的源码就立即可以知道,timertask就是实现了runnable接口的。也就是说,通过timer来间隔一段时间执行一个操作,也是通过一个线程来做到的。

如何用java实现一个计时器?

用java实现一个计时器的方法:

public class TestDingShi implements Runnable

{

Thread xc;

Dao dao=new DaoImpl();

public TestDingShi()

{

xc=new Thread(this);//线程开启

xc.start();

}

public void run()

{

while (true)

{

try

{

xc.sleep(1000);//睡眠开始计时

}

catch (InterruptedException e)

{

// TODO Auto-generated catch block

e.printStackTrace();

}

//TODO定时在此

}

}

}

java计时器频率是什么

您好,Java计时器频率是指Java程序中计时器的频率,也就是每隔多长时间触发一次计时器。Java计时器频率是由程序员自己设定的,一般来说,可以设置任意的时间间隔,从毫秒到小时都可以。Java计时器频率的设置可以通过Timer类的schedule()方法来实现,其中可以设置计时器的时间间隔,以及计时器触发时要执行的任务。此外,Java计时器频率也可以通过TimerTask类的scheduleAtFixedRate()方法来实现,其中可以设置计时器的时间间隔,以及计时器触发时要执行的任务。

java的定时器是否会提前执行

定时器不会提前执行。基础知识java.util.Timer一种线程设施,用于安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行。此类是线程安全的:多个线程可以共享单个Timer对象而无需进行外部同步。java.util.TimerTask由Timer安排为一次执行或重复执行的任务。

做一个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() {

//你要进行的操作

}

}

}

大概就是这样了,在根据你的业务需要查一下资料,就可以搞定了!非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!

java计时器

何不使用线程?

一些说明我已经写在注释中了

public class Test implements Runnable {

//定义一个线程

Thread thread;

//用于停止线程的标志

private boolean flag=true;

public Test(){

thread=new Thread(this);

}

//因为该类实现了Runnable,就必须有run方法,当线程启动时,会调用这个run方法

public void run(){

//获得当前的时间,毫秒为单位

long beginTime=System.currentTimeMillis();

//定义已过去的时间

long time=0;

while(flag){

//这里写实现计时的代码

//在这里,获得已过去的时间

time=System.currentTimeMillis()-beginTime;

System.out.println("已过"+time+"毫秒");

//暂停线程1秒钟,不暂停的话可以把下面代码去掉

try{

Thread.sleep(1000);

}catch(InterruptedException e1){

e1.printStackTrace();

}

}

}

//这里是启动线程的方法,也就是启动线程

public void start(){

thread.start();

}

//这里是暂停的方法,暂停线程

public void Pause(){

try{

thread.wait();

}catch(InterruptedException e){

e.printStackTrace();

}

}

//这里是继续的方法,唤醒线程

public void Resume(){

thread.notifyAll();

}

//停止线程

public void stop(){

//把flag设成false,则在run中的while循环就会停止循环

flag=false;

}

public static void main(String []args){

//用于测试

Test t=new Test();

//开始线程

t.start();

try{

//10000毫秒以后结束线程

Thread.sleep(10000);

}catch(InterruptedException e1){

e1.printStackTrace();

}

//结束线程

t.stop();

}

}

关于java计时器和java计时器原理的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。