java - 测量线程之间的计算时间 - java

标签 java multithreading

new Thread(new Runnable() {
   @Override public void run() {
    //calculations #1
    }
 }).start();
new Thread(new Runnable() {
   @Override public void run() {
    //calculations #2
    }
}).start();

1) 我想测量任何线程的执行时间,然后将其汇总到总时间变量中。谁能解释一下怎么做?

2)如果线程内部只有一个循环(for、while)并且循环结束,线程也会结束吗?

最佳答案

您基本上需要一个可以从多个线程访问和改变的资源。原子整数对您的情况可能会有帮助。请参阅此讨论 - Practical uses for AtomicInteger .

回答你的第二个问题 - 我假设你的 run 方法有一个 while 循环,当退出循环时,即使在我们的运行中,控件也存在。所以是的,当运行退出时,线程已经完成了它的工作。如果您对线程生命周期的更详细讨论感兴趣,请查看这篇文章 - How to start/stop/restart a thread in Java? .

关于java - 测量线程之间的计算时间 - java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31359449/

相关文章:

java - ExoPlayer 测试 - 无法在未调用 Looper.prepare() 的线程内创建处理程序

Python请求,警告: urllib3.连接池:连接池已满

java - JGraphX 移动单元并保持边缘

java - Primefaces 时间表设置开始时间和结束时间

C++从主线程结束分离线程

python - 使用 dask 作为任务调度来并行运行机器学习模型

c - 有什么解决方案可以在原子上下文中在用户和内核之间共享数据吗?

java - java中未找到类异常?

java - 需要帮助读取 <> 之间的单词并保存到数组

java - 守护线程未按预期工作