作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要计算一个方法完成所需的总时间,通常我使用:
long startTime = System.currentTimeMillis();
MethodWithThreads(); // the method which uses threading
long endTime = System.currentTimeMillis();
total = endTime - startTime;
现在显然问题是主线程在其余线程之前终止。线程函数内部有如下代码:
int cores = Runtime.getRuntime().availableProcessors();
ExecutorService pool = Executors.newFixedThreadPool(cores-1);
for(int i = 0; i < 1000; i++)
{
pool.submit(new RunnableThread());
}
pool.shutdown();
那么我如何找到线程方法完成的总时间?
最佳答案
愚蠢的我......应该做更多的研究。我在 while 循环中使用了 isTermination 并等待终止。
while(!pool.isTerminated())
{
try {
pool.awaitTermination(1000, TimeUnit.SECONDS);
} catch (InterruptedException ex) {
Logger.getLogger(ThreadManagement.class.getName()).log(Level.SEVERE,null, ex);
}
}
long endTime = System.currentTimeMillis();
关于java - java 定时线程池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13355886/
我是一名优秀的程序员,十分优秀!