Ran e:获取此线程运行了多少秒(e7 ran)

嘿,我在我的代码中有这个函数:

public synchronized void finished()
{
    howManyDone++;
    log.append("Finished creating board "+this.howManyDone+"\n");
    if(howManyDone == boards.length)
        JOptionPane.showMessageDialog(log, "All Boards Were Created.","Attention",JOptionPane.WARNING_MESSAGE);
}

我想添加到 log.append 命令中有多少 evrey 线程在秒中运行。我试图做到这一点:

public synchronized void finished()
{
    long start = System.nanoTime();
    howManyDone++;
    long end = System.nanoTime();
    long estTime = end - start;
    double seconds = (double)estTime/1000000000;
}

和比打印秒在每个时间是这样的:

log.append("Finished creating board " +this.howManyDone+ " in "+seconds+"\n");

但是我在日志中得到的数字是这样的:6.00 E-7 等等...我做错了什么?

谢谢

0

除非您能够记录线程开始工作时的系统时间,否则不可能获得总运行时间。仅在完成的函数开始时调用它是不够的。

对于一个解决方案,您可以创建一个Thread子类,跟踪它运行的时间,例如:

public class TimedThread extends Thread {
    private long startTime;
    private long endTime;
    public TimedThread(Runnable r) {
        super(r);
    }
    @Override
    public void run() {
        startTime = System.nanoTime();
        super.run();
        endTime = System.nanoTime();
    }
    public long getRunDuration() {
        return endTime - startTime;
    }
}

然后使用TimedThreads 而不是Threads,在那里你需要一个定时计算(假设你已经控制了那部分代码)。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(624)
支持8代cpu的主板:如果我的8核CPU支持16个线程 那么对于池中的进程数 16将是比8更好的数字吗
上一篇
工控软件开发:IVR软件开发探讨(ivr platform)
下一篇

相关推荐

  • 脑图软件:如何创建交互式脑形图 (graph mind)

    关于脑图软件的问题,在graph mind中经常遇到,关于如何创建交互式脑形图 (graph mind)的编程代码示例如下。…

    2024-03-25 10:06:38
    0 89 85
  • Wifi伴侣:SolidWorks宏“与伴侣一起复制”

    关于Wifi伴侣的问题,在copy sketch in solidworks中经常遇到,SolidWorks 2019…

    2024-01-08 13:57:12
    0 49 96
  • Is blank:target= "_blank"vs.target=_blank

    关于Is blank的问题,在quote target中经常遇到,target="_blank"和target=_blank之间有什么区别吗?…

    2024-02-17 11:42:10
    0 66 66
  • 推特软件:推特API:获取所有推特的标签(trending tweets)

    关于推特软件的问题,在trending tweets中经常遇到,我搞砸了 2 个问题 & amp;无法弄清楚。…

    2023-10-22 08:21:26
    0 91 68
  • Mr kt:MR2和MR1有什么区别(juno mr1)

    关于Mr kt的问题,在juno mr1中经常遇到,我想知道 mapreduce 1 和 mapreduce2 之间的详细区别。YARN 的包含实际上添加到 Hadoop 中的是什么?我是一个想要学习 Apache Hadoop 的初学者。任何人都可以建议从哪里开始。另外 Hadoop 的集群设置是什么。谢谢所有的帮助。…

    2024-03-18 14:27:14
    0 34 40
  • 进程是程序的一次执行:VHDL:如何在进程语句中执行for循环一次

    关于进程是程序的一次执行的问题,在vhdl for loop中经常遇到,我是 vhdl 和 FPGA 的新手。对于我的项目,我需要使用 for loop。当我模拟我的代码时,它保持计数,而不是停止。我希望我的代码只执行一次,我的观点是当循环达到它的限制代码将停止执行。这是我的代码…

    2024-04-08 14:19:36
    0 19 46
  • 访问qq空间不留痕迹:在Dart中发送qq邮件

    关于访问qq空间不留痕迹的问题,在retrieve qq password中经常遇到,我正在使用mailer包来发送主机为QQ的邮件,这在中国非常流行。…

    2024-02-15 06:34:40
    0 29 80
  • Led灯的维修实例:LED灯边框(led lights for window border)

    关于Led灯的维修实例的问题,在led lights for window border中经常遇到,我已经创建了 LED 灯边框-http://codepen.io/anon/pen/grvYQp它仅在屏幕设置为特定尺寸时才有效。我应该在代码中进行哪些更改,以便它可以与任何尺寸的屏幕一起使用?…

    2023-10-18 15:33:18
    0 41 94

发表评论

登录 后才能评论

评论列表(56条)