Java CurrentTimeMillis()使用了多次问题



我正在创建一个程序,每次函数时都会获得该函数的执行时间,但是问题是,当它输入第一个函数后,下一个函数将获得执行时间0或1毫秒:

function1: 
long start = System.currentTimeMillis();
//
//
//some code
//
//
//
long end = System.currentTimeMillis();
System.out.println("function1 took: " + (end - start) + "ms"); 
function2: 
long start = System.currentTimeMillis();
//
//
//some code
//
//
//
long end = System.currentTimeMillis();
System.out.println("function2 took: " + (end - start) + "ms"); 
function3: 
long start = System.currentTimeMillis();
//
//
//some code
//
//
//
long end = System.currentTimeMillis();
System.out.println("function3 took: " + (end - start) + "ms"); 

输出为:

函数1摄取:49ms

函数2摄取:1ms

函数3取:0ms

您可以看到,在第一个效果之后,似乎没有正确地对以下功能进行计算。希望你能回答我的疑问。

尽管这取决于您的方法和实现,但我认为ms不够准确,无法为您提供时间。

您可以使用链接,如何在Java中使用方法的执行时间?在更准确的时间里。

还可以将每个方法放在单独的线程中,并同时运行,如果它们独立于超级执行中。

最新更新