服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - Java简单计时的实现案例(可以用来限时循环)

Java简单计时的实现案例(可以用来限时循环)

2020-08-21 00:26梁凤财Zero Java教程

这篇文章主要介绍了Java简单计时的实现案例(可以用来限时循环),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

在软件开发过程中经常需要知道程序运行的大概时间,或者需要在规定时间内取数据,这是可以使用下面的方法获取时间段,还可以用在限时循环

方法一:

?
1
2
3
4
5
6
7
/** 获取当前系统时间*/
long startTime = System.currentTimeMillis();
/** 程序运行 processRun();*/
 
/** 获取当前的系统时间,与初始时间相减就是程序运行的毫秒数,除以1000就是秒数*/
long endTime = System.currentTimeMillis();
long usedTime = (endTime-startTime)/1000;

方法二:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//初始化变量
Date before=new Date();
Date now=new Date();
 
//定时循环
while(t<=10//循环时间){
 
   // 计算循环总时长
   now = new Date();
   // 现在的时间减去开始的时间可以计算出来使用的时间
   t = (now.getTime() - before.getTime())/1000;
 
   //循环内容
    
}

补充知识:Java中更精确的计时代码

我们一般的java运输计时代码是

?
1
2
3
4
long begintime = System.currentTimeMillis();
//运算代码
long endtinme=System.currentTimeMillis();
long costTime = (endtime - begintime);

但是,如果运算时间很短的时候,这个一个是现在机器太厉害,还有由于.currentTimeMillis()是1970年1月1日到现在的毫秒数,估计应该把很多小数位省略了,没看过代码,猜的,呵呵。结果一般是0,无法显示算法消耗时间,这个时候可以用nanoTime(),纳秒。

?
1
2
3
4
5
long begintime = System.nanoTime();
//运算代码
long endtime = System.nanoTime();
long costTime = (endtime - begintime)/1000;
//要换算为微秒,就除上1000,就可以

以上这篇Java简单计时的实现案例(可以用来限时循环)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://www.cnblogs.com/ZenoLiang/p/11014251.html

延伸 · 阅读

精彩推荐