在Java中,有没有一种方法可以在通知线程之后获得线程的实际等待时间
如果我使用在Java中,有没有一种方法可以在通知线程之后获得线程的实际等待时间,java,multithreading,Java,Multithreading,如果我使用wait()函数让一个线程等待20秒,那么我会在它完成等待之前用另一个线程通知这个线程。我可以得到实际的等待时间吗?实现这一点的一种方法是在等待之前启动秒表,看看线程需要多长时间才能继续: Object ob; public void waitingThread(){ try { Long before =System.nanoTime(); ob.wait(20); long waitTime = System.nanoTim
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();
}
}
抱歉,没有的等待请看这篇文章:返回
无效
,因此如果不写额外的代码,这是不可能的。请看等待前后的时间。@Villat这似乎有效,谢谢!