gpt4 book ai didi

java - 通过 for 循环测量时间 - Java 线程

转载 作者:行者123 更新时间:2023-11-30 03:00:56 25 4
gpt4 key购买 nike

我有一个任务,使用线程在 Java 中创建一个竞赛,有 10 个不同的参与者,他们将跑 100 m 的距离,获胜者当然是第一个跑到 100 m 的人。

但是,当所有参与者都完成比赛时,比赛应该结束,并且比赛结束后程序还应该显示每个参与者完成比赛所需的时间。

我的问题是如何在程序中添加时间,因为我尝试使用 2D for 循环,但没有成功。

这是我到目前为止的代码

P.S 我的 Syso 应该喜欢这样的东西:

Kazim 的行驶距离为 100m 40 秒

Lloran 的行驶距离为 100m 36 秒。

我根本没有实现时间

public class Race implements Runnable

{
public static String winner;

public void race()
{
for (int distance = 1; distance <= 100; distance++)
{
System.out.println("Distance covered is by" + " "
+ Thread.currentThread().getName() + " is" + " " + distance);
boolean isRaceFinished = this.isRaceFinished(distance);
if (isRaceFinished)
{
break;
}

}

}

private boolean isRaceFinished(int distance)
{
boolean isRaceFinished = false;

if (winner == null && distance == 100)
{
String winnerName = Thread.currentThread().getName();
winner = winnerName;
System.out.println("The winner is" + " " + winner);

}
else if (winner == null)
{
isRaceFinished = false;
}
else if (winner != null)
{
isRaceFinished = true;
}
return isRaceFinished;
}

@Override
public void run()
{
this.race();

}
}
public class Main
{

public static void main(String[] args)
{
Race race = new Race();
Thread t1 = new Thread(race, "Dean");
Thread t2 = new Thread(race, "Lloran");
Thread t3 = new Thread(race, "Vinsel");
Thread t4 = new Thread(race, "Jimmy");
Thread t5 = new Thread(race, "Khan");
Thread t6 = new Thread(race, "Kazim");
Thread t7 = new Thread(race, "Richards");
Thread t8 = new Thread(race, "Malvo");
Thread t9 = new Thread(race, "Leddan");
Thread t10 = new Thread(race, "Joseph");

t1.start();
t2.start();
t3.start();
t4.start();
t5.start();
t6.start();
t7.start();
t8.start();
t9.start();
t10.start();

}

}

最佳答案

看看System.currentTimeMillis()。如果您在比赛线程开始时存储当前时间并在结束时再次检查,则差异将为您提供该线程的毫秒数。

关于java - 通过 for 循环测量时间 - Java 线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35987869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com