乡亲,所以我的问题是我有3个线程。

1线程(Bot1)

public class Bot1 implements Runnable {
  String name;

  public Bot1(String s) throws Exception{
    ChatterBotFactory factory = new ChatterBotFactory();
    ChatterBot bot1 = factory.create(ChatterBotType.CLEVERBOT);
    ChatterBotSession bot1session = bot1.createSession();
    name=s;
    name=bot1session.think(s);
  }

  public void run(){
    System.out.println("b1: "+name);
  }
}


其他都一样。只有名称是Bot2Bot3。但是代码几乎相同。
我需要同时启动这些机器人。我只需要显示最快的句子。示例:如果Bot1显示“ Hello”的速度比Bot2Bot3快,那么我需要关闭Bot2Bot3线程。但是我怎么看哪一个更快呢?我需要关闭哪两个并再次运行我的代码?希望您能理解我并能帮助我。谢谢,抱歉我的英语不好。

最佳答案

我会尝试在每个漫游器中都有一个boolean isRunning,并且在run方法中有一个while(isRunning)。然后在第四个线程中,检查所有漫游器并查看是否完成。如果已完成,请将其他机器人的isRunning设置为false,它们应退出。

10-06 05:37