乡亲,所以我的问题是我有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);
}
}
其他都一样。只有名称是
Bot2
和Bot3
。但是代码几乎相同。我需要同时启动这些机器人。我只需要显示最快的句子。示例:如果
Bot1
显示“ Hello”的速度比Bot2
和Bot3
快,那么我需要关闭Bot2
和Bot3
线程。但是我怎么看哪一个更快呢?我需要关闭哪两个并再次运行我的代码?希望您能理解我并能帮助我。谢谢,抱歉我的英语不好。 最佳答案
我会尝试在每个漫游器中都有一个boolean isRunning
,并且在run方法中有一个while(isRunning)
。然后在第四个线程中,检查所有漫游器并查看是否完成。如果已完成,请将其他机器人的isRunning
设置为false
,它们应退出。