基本上,我有一个在控制台中运行的 Java 线程,它将无限运行,除非用户输入“暂停”,否则程序应该停止线程并停止控制台。
这是线程的 set_interval 部分的样子(用户可以输入他们想要的线程之间的间隔时间):
public void set_interval(int mins, int secs) {
time = (mins * 60000) + (1000 * secs);
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
try {
count += counter;
String name = getName();
Date date = new Date();
System.out.print("\n" + "Thread:" + name + " " + date + " - counter: " + count);
Thread.sleep(time);
} catch(InterruptedException e){
System.out.print(e);
}
}, 0, time);
}
这是主要的样子:
}else if (checkLine.equals("halt")){
Thread test = new Thread("name");
test.interrupt();
break;
}
我看到的每个地方都说要使用中断,但是这个中断似乎不起作用。有人有什么想法吗?还是我只是忽略了一些小细节?我有可能需要使用套接字来解决这个问题。