用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定时在此
}
}
}
你可以在开始和结束的时候,分别记录下当前的时间的这毫秒数。然后再减,以下是一段代码。public class Test{
public static void main(String[] args) {
long startMili=System.currentTimeMillis()// 当前时间对应的毫秒数
System.out.println("开始 "+startMili)
// 执行一段代码,求一百万次随机值
for(int i=0i<1000000i++){
Math.random()
}
long endMili=System.currentTimeMillis()
System.out.println("结束 s"+endMili)
System.out.println("总耗时为:"+(endMili-startMili)+"毫秒")
}
}
计时器可以使用timer类也可以使用线程类来操作,下面是Thread做的简单的计时器
public class Calculagraph extends Thread {public static void main(String[] args) {
new Calculagraph().start()
}
private long now = 0l
private long start = System.currentTimeMillis()// 程序启动时间的毫秒值
private long time
public void run() {
while (true) {
now = System.currentTimeMillis()// 获取一秒之后的毫秒值
time = now - start// 两个时间相减的到毫秒差
System.out.format("%02d:%02d:%02d\n",
time / (1000 * 60 * 60) % 60/* 时 */,
time / (1000 * 60)% 60/* 分 */,
time / 1000 % 60/* 秒 */)// 格式化字符串输出
try {
Thread.sleep(1000)
} catch (InterruptedException e) {
e.printStackTrace()
}
}
}
}