Java 如何测量从数据库异步读取数据的时间
我想从数据库中读取异步数据,并测量读取的时间。我正在使用Java 如何测量从数据库异步读取数据的时间,java,parallel-processing,Java,Parallel Processing,我想从数据库中读取异步数据,并测量读取的时间。我正在使用CompletableFuture.runAsync方法 在我的应用程序中,我有很多类,如: 公共类ReadDataFromDB实现IIInitialization{ @凌驾 public void init()引发ReadingException{ //委托给将从数据库读取数据的其他类 } } 初始化是一个函数接口,有一个方法public void init()抛出ReadingException 我收集了所有这些类以列出: List
CompletableFuture.runAsync
方法
在我的应用程序中,我有很多类,如:
公共类ReadDataFromDB实现IIInitialization{
@凌驾
public void init()引发ReadingException{
//委托给将从数据库读取数据的其他类
}
}
初始化是一个函数接口,有一个方法public void init()抛出ReadingException
我收集了所有这些类以列出:
List input=Arrays.asList(新的ReadDataFromDB(),…);
并异步运行它:
long l=input.stream().map(i->CompletableFuture.runAsync(()->>{
试一试{
i、 init();
}捕获(读取异常e){
e、 printStackTrace();
}
},threadPool)).count();
工作人员池I定义为:
ExecutorService线程池=Executors.newFixedThreadPool(10,r->{
螺纹=新螺纹(r);
setUncaughtExceptionHandler(null);
返回线程;
});
所有这些都集中在一个方法中private void readDataAsync()抛出ReadingException
我试图通过以下方式来衡量时间:
long begin=System.currentTimeMillis();
readDataAsync();
long end=System.currentTimeMillis();
System.out.println(“readDataAsync:+(end-begin)/1000.0);
这种方式不起作用,因为console showreadDataAsync:0.043
,服务器启动,但我的客户端在几秒钟后看到数据(比同步快)
有什么想法吗?我如何正确测量从DB读取异步数据的时间