ThreadPoolExecutor threadPool = (ThreadPoolExecutor) Executors.newFixedThreadPool(THREAD_COUNT); 统计耗时
时间: 2024-04-30 11:16:29 浏览: 121
ThreadPoolExecutor是Java中的一个线程池实现类,用于管理和调度线程的执行。通过使用线程池,可以有效地管理线程的创建和销毁,提高程序的性能和资源利用率。
在给定的代码中,通过Executors类的静态方法newFixedThreadPool创建了一个固定大小的线程池,其中THREAD_COUNT表示线程池的大小。然后将返回的Executor对象强制转换为ThreadPoolExecutor类型,以便使用ThreadPoolExecutor类提供的更多功能。
要统计耗时,可以使用ThreadPoolExecutor的一些方法和特性。以下是一种可能的实现方式:
```java
// 创建线程池
ThreadPoolExecutor threadPool = (ThreadPoolExecutor) Executors.newFixedThreadPool(THREAD_COUNT);
// 记录开始时间
long startTime = System.currentTimeMillis();
// 提交任务给线程池执行
threadPool.execute(new Runnable() {
@Override
public void run() {
// 执行任务的逻辑代码
}
});
// 关闭线程池
threadPool.shutdown();
// 等待所有任务执行完成
try {
threadPool.awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS);
} catch (InterruptedException e) {
e.printStackTrace();
}
// 计算耗时
long endTime = System.currentTimeMillis();
long elapsedTime = endTime - startTime;
System.out.println("总耗时:" + elapsedTime + "毫秒");
```
在上述代码中,首先记录了开始时间,然后通过execute方法提交任务给线程池执行。接着调用shutdown方法关闭线程池,并使用awaitTermination方法等待所有任务执行完成。最后,计算结束时间与开始时间的差值,即可得到总耗时。
阅读全文