Java中如何确定线程的剩余等待时间

Java中如何确定线程的剩余等待时间,java,multithreading,wait,Java,Multithreading,Wait,据我所知,Thread类中没有特定的方法允许程序检查线程在唤醒前剩余的时间。但如果您需要这样的功能,您将如何实现它 例如,我有: 线程A—在特定条件下,它会等待一段时间。 线程B—不知道线程A设置为等待一段时间 问题: 1.有没有办法让线程a确定线程a要等待多少毫秒? 2.在等待到期之前确定剩余的时间如何? 3.另一个线程C发现系统时钟已更改,是否有办法根据新的系统时钟确定剩余时间 谢谢 -------编辑----- 我真正想要完成的是将一个进程安排在特定的时间运行。由于某些原因,我不想使用Ti

据我所知,Thread类中没有特定的方法允许程序检查线程在唤醒前剩余的时间。但如果您需要这样的功能,您将如何实现它

例如,我有: 线程A—在特定条件下,它会等待一段时间。 线程B—不知道线程A设置为等待一段时间

问题: 1.有没有办法让线程a确定线程a要等待多少毫秒? 2.在等待到期之前确定剩余的时间如何? 3.另一个线程C发现系统时钟已更改,是否有办法根据新的系统时钟确定剩余时间

谢谢

-------编辑-----


我真正想要完成的是将一个进程安排在特定的时间运行。由于某些原因,我不想使用TimerTask,因此我创建了一个线程,该线程将等待(FutureDate-CurrentDate)。如果系统的日期和时间已更改(New.system.date),我想中断此等待。现在,如果(FutureDate-New.System.Date)与(FutureDate-OldSystemDate)没有太大区别,比如说几秒钟,我就不想打断等待。但是,如果需要几分钟,那么我必须将等待时间重置为另一个(FutureDate-New.System.Date)。

您想做什么?可能有一种不同的方法。这种功能的功能是什么?如果您想要实现这个,那么您将有一个公开的公共属性或方法,您将查询自线程进入睡眠状态以来经过的时间,它将从线程进入睡眠状态的时间中减去该时间。。。这对任何事情都没有实际意义,但如果您正在编写自己的线程类,这是可能的。我编辑了我的帖子,以提供有关我实际想要完成的任务的更多详细信息。我假设您正在使用thread.sleep吗?我正在使用wait。我想我找到了解决办法。在等待的线程对象中,我将添加一个日期字段,并在调用wait()之前设置其值。然后,我可以添加一个方法,通过执行System.getTime…-DateThreadStartedWaiting返回等待所用的时间。