您的位置:首页 > 编程语言 > Java开发

Java 延时常见的几种方法

2013-09-29 11:11 204 查看
1、 用Thread就不会iu无法终止

new Thread(new Runnable() {
public void run() {
while (true) {
test();
try {
Thread.sleep(500);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
private void test() {
// TODO Auto-generated method stub
}
public Runnable start() {
// TODO Auto-generated method stub
return null;
}
}.start());


2、 或者用现成的

javax.swing.Timer timer = new javax.swing.Timer(500, new ActionListener() { public void actionPerformed(ActionEvent e) { repaint(); } };

timer.start();

3、下面这个方法测试过可以用 java非线程延时

import java.awt.Robot;
import java.util.Date;

public class test {
public   static   void   main(String[]   args)   throws   Exception{
Robot  r   =   new   Robot();
System.out.println( "延时前:"+new Date().toString()  );
r.delay(   2000   );
System.out.println(   "延时后:"+new Date().toString()   );
}
}


4、 用这下面的TimeTask类(指定延时)

java里面的sleep()并不能精确定时,TimeTask可以:例下面的小程序:

import java.util.*;

public class test {
public static void main(String[] args) {
Timer timer = new Timer();// 实例化Timer类
timer.schedule(new TimerTask() {
public void run() {
System.out.println("退出");
this.cancel();
}
}, 5000);// 这里百毫秒
System.out.println("本程序存在5秒后自动退出");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: