小编Ank*_*kla的帖子

在多线程中:如何确定首先停止哪个线程

编写一个名为RaceHorse的类来扩展Thread.每个RaceHorse都有一个名称和run()方法,显示名称5000次.编写一个实例化2个RaceHorse对象的Java应用程序.完成的最后一场RaceHorse是失败者.

这是个问题.我已经编写了两个类的代码两个运行线程以下是代码:

赛马

class RaceHorse extends Thread
{
    public String name;
    public RaceHorse(String name)
    {
        this.name = name;
    }
    public void run()
    {
        for(int i = 1 ; i <= 5000; i++)
        {
            System.out.println(i+"  "+name);
        }
        System.out.println(name+" finished.");
    }
}
Run Code Online (Sandbox Code Playgroud)

跑步者

class Runner{
    public static void main(String args[])
    {
        RaceHorse obj = new RaceHorse("Lol");
        RaceHorse obj2 = new RaceHorse("BOL");
        Thread t = new Thread(obj);
        Thread t2 = new Thread(obj2);
        t.start();
        t2.start();
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我的问题是我无法找到首先完成哪个线程以及哪个秒,即哪个马获胜哪个失败.

java multithreading race-condition

6
推荐指数
2
解决办法
2690
查看次数

标签 统计

java ×1

multithreading ×1

race-condition ×1