Java 延时常见的几种方法
2024-08-27 06:10:57
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秒后自动退出");
}
}
最新文章
- 手动刷新magento的索引管理方法
- 在使用vs2012中的MVC4出的错误!类型“System.Data.Entity.DbContext”在未被引用的程序集中定义
- UOJ265 【NOIP2016】愤怒的小鸟
- DB2 v9.1 RACF 瞎学笔记
- Android 沉浸式状态栏
- mysql 支持中文,防止程序乱码的方法
- js技巧总结
- Contest 20140928 密碼破譯 字符串hash
- [Leetcode] Two Sum (C++)
- Oracle:ORA-01791: 不是 SELECTed 表达式
- POJ 3100 &;amp; ZOJ 2818 &;amp; HDU 2740 Root of the Problem(数学)
- 如何使用LightningChart拖放功能进行数据转移 ?
- C# JAVA成员访问修饰符比较
- How to Quickly Create a Copy of a Table using Transact-SQL
- Cocos2D:塔防游戏制作之旅(十一)
- Python函数式编程(二):常见高级函数
- shop++之language
- BZOJ2689 : 堡垒
- linux环境如何配置repo
- List<;? extends T>;和List<;? super T>;之间有什么区别?