【发布时间】:2019-06-02 00:00:38
【问题描述】:
我正在开发一个所有其他对象都可以看到的线程“时钟”。每个时间周期对应于时钟的一个滴答,时钟会增加一个计数器。然后它将为其他类提供一个公共方法来读取当前时间。 1 个滴答代表 5 秒的模拟时间,但只需要 1 秒。这是我到目前为止实现的内容:
public class Clock extends Thread
{
private int seconds = 0;
public void run()
{
//sleep 1000 mil secs
this.seconds += 5;
}
}
我想收到一些关于向其他类提供当前时间的方法的反馈。这是我到目前为止在另一个将使用该方法的类上所做的示例:
public class Entry extends Thread
{
Clock c;
public Entry(Clock clock)
{
c = clock;
}
【问题讨论】:
-
告诉我们您要解决的问题。了解您想要实现的目标有助于我们提供更好的答案。
-
入口类会产生汽车对象,所以我希望每次汽车进入城镇时都给它一个当前时间的时间戳。
-
需要计时器线程似乎毫无意义且容易出错。取而代之的是,记录程序的开始时间,得到一个差值并将其乘以 5。您可以从实用程序类的静态方法中提供时间。
-
为什么不用 System.currenttimeMillis() 方法?
标签: java multithreading