java - 在Java中,有没有办法在通知线程后获取线程的实际等待时间

标签 java multithreading

如果我使用wait()函数让一个线程等待 20 秒,然后在该线程完成等待之前通知另一个线程。我能得到实际的等待时间吗?

最佳答案

实现此目的的一种方法是在等待之前启动秒表,看看线程继续运行需要多长时间:

Object ob;

public void waitingThread(){
    try {
        Long before =System.nanoTime();
        ob.wait(20);
        long waitTime = System.nanoTime() - before;
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}

抱歉让您久等了,没有 loop

关于java - 在Java中,有没有办法在通知线程后获取线程的实际等待时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58312628/

相关文章:

java - 如果不进行货币金额的计算,是否需要使用 BigDecimal?

java - Spring Boot在application.properties中重命名server.port

java - Labview TCP与Java的连接

java - Jasper报路径问题,在App server上运行找不到.jasper文件

c++ - Pthread封装成类时只使用一个线程

multithreading - 获取 RwLock 进行读取并使其超出范围

java - 如何在不使用同步方法或 block 的情况下实现线程安全?

java字节码..用bipush<>替换icosnt_

java - 线程基础知识 : Why is the same code producing different output in different classes?

c# - 线程 : Why does this code show 5 in output in thread