计划A:
public void startThreadPool2(boolean flag) {
while(flag) {
Runnable run = new Runnable() {
@Override
public void run() {
System.out.println("running");
}
};
service.execute(run);
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
计划B:
public static void main(String[] args) {
SentimentAnalyse sentimentAnalyse = SentimentAnalyse.getInstance();
sentimentAnalyse.startThreadPool2(true);
}
计划C:
public static void main(String[] args) {
//how to stop the while loop
}
while循环继续运行,我不知道如何在另一个程序中停止它。
//更新 你的方式可能一切正常,我发现我的单身人员因为eclipse在不同程序中使用不同的类加载器而无法工作。
答案 0 :(得分:1)
将标志存储在SentimentAnalyse中并为其提供一个setter! 在porgram c(这是什么)你需要一个你在程序b中创建的SentimentAnalyse实例的引用。通过从程序c
调用其setter为false来停止programm中的循环