Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何测量从数据库异步读取数据的时间_Java_Parallel Processing - Fatal编程技术网

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 show
readDataAsync:0.043
,服务器启动,但我的客户端在几秒钟后看到数据(比同步快)

有什么想法吗?我如何正确测量从DB读取异步数据的时间