当前位置: 技术问答>java相关
timer怎么用呀.
来源: 互联网 发布时间:2015-02-15
本文导语: package java_commsvr; import java.util.TimerTask; import java.util.Timer; class inspjob extends TimerTask { inspjob() { super(); } public void run() { System.out.println("asdfasdf"); return; } } public class ciqcommsvr { public ci...
package java_commsvr;
import java.util.TimerTask;
import java.util.Timer;
class inspjob extends TimerTask
{
inspjob()
{
super();
}
public void run()
{
System.out.println("asdfasdf");
return;
}
}
public class ciqcommsvr {
public ciqcommsvr() {
}
public static void main(String args[])
{
inspjob comminspjob=new inspjob();
Timer commtimer=new Timer();
commtimer.schedule(comminspjob,1000);
}
}
这段程序为什么只执行一次呀.??
import java.util.TimerTask;
import java.util.Timer;
class inspjob extends TimerTask
{
inspjob()
{
super();
}
public void run()
{
System.out.println("asdfasdf");
return;
}
}
public class ciqcommsvr {
public ciqcommsvr() {
}
public static void main(String args[])
{
inspjob comminspjob=new inspjob();
Timer commtimer=new Timer();
commtimer.schedule(comminspjob,1000);
}
}
这段程序为什么只执行一次呀.??
|
试试
import sun.misc.*; // Sun's Timer undocumented class
import java.util.*; // Calendar class
public class TimerTest implements Timeable {
public static void main(String[] args) {
TimerTest me = new TimerTest();
Timer ticker = new Timer(me, 1000);
ticker.cont();
System.out.println("Timer started");
}
public void tick(Timer t) {
System.out.println
("07Being ticked " + Calendar.getInstance().getTime());
}
}
The Timer class is now part of the Swing package. The Timer object will send an ActionEvent to the registered ActionListener. import javax.swing.Timer;
import java.awt.event.*;
import java.util.*;
public class TimerDemo implements ActionListener {
Timer t = new Timer(1000,this);
TimerDemo() {
t.start();
}
public static void main(String args[]) {
TimerDemo td = new TimerDemo();
// create a dummy frame to keep the JVM running
// (for demonstation purpose)
java.awt.Frame dummy = new java.awt.Frame();
dummy.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == t) {
System.out.println
("07Being ticked " + Calendar.getInstance().getTime());
}
}
}
import sun.misc.*; // Sun's Timer undocumented class
import java.util.*; // Calendar class
public class TimerTest implements Timeable {
public static void main(String[] args) {
TimerTest me = new TimerTest();
Timer ticker = new Timer(me, 1000);
ticker.cont();
System.out.println("Timer started");
}
public void tick(Timer t) {
System.out.println
("07Being ticked " + Calendar.getInstance().getTime());
}
}
The Timer class is now part of the Swing package. The Timer object will send an ActionEvent to the registered ActionListener. import javax.swing.Timer;
import java.awt.event.*;
import java.util.*;
public class TimerDemo implements ActionListener {
Timer t = new Timer(1000,this);
TimerDemo() {
t.start();
}
public static void main(String args[]) {
TimerDemo td = new TimerDemo();
// create a dummy frame to keep the JVM running
// (for demonstation purpose)
java.awt.Frame dummy = new java.awt.Frame();
dummy.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == t) {
System.out.println
("07Being ticked " + Calendar.getInstance().getTime());
}
}
}
|
Timer是1。3提供的
你应该用
commtimer.schedule(comminspjob,System.currentMilliseconds(),1000);
第二个参数表示开始时间,第三个表示每个间隔。重复运行
不过很多时候scheduleAtFixedRate更加合适,他是保证每两次运行的开始时间间隔相等schedule表示上次运行成功后和下一次运行的开始时间间隔相等
你应该用
commtimer.schedule(comminspjob,System.currentMilliseconds(),1000);
第二个参数表示开始时间,第三个表示每个间隔。重复运行
不过很多时候scheduleAtFixedRate更加合适,他是保证每两次运行的开始时间间隔相等schedule表示上次运行成功后和下一次运行的开始时间间隔相等
|
你的schedule方法选择错误,
应该用
commtimer.schedule(comminspjob,1000,1000);
其中第一个参数表示要重复执行的任务
第二个参数表示程序开始运行多久后任务第一次执行
第三个参数表示以后每两个任务执行的时间间隔
时间的单位是毫秒
应该用
commtimer.schedule(comminspjob,1000,1000);
其中第一个参数表示要重复执行的任务
第二个参数表示程序开始运行多久后任务第一次执行
第三个参数表示以后每两个任务执行的时间间隔
时间的单位是毫秒
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。