「java计时器」java计时器原理
本篇文章给大家谈谈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计时器原理的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。