java 停止程序执行

来源:百度知道 编辑:UC知道 时间:2024/06/07 15:35:17
现有一个tt类,类中有一个 start方法和restart方法
我想在主函数中先调用start方法,然后当监听到一个事件的时候停止start的执行 再通过restart重新执行start
问题是 当我监听到事件后 有办法来停止此时正在执行的start吗?

class tt{
void start(){
while(true){
try{
Thread.sleep(1000);
}catch(InterruptedException e) {}
System.out.println(1);
}
}
void restart(){
start();
}
public static void main(String args[]){
tt t=new tt();
t.start();

//此处写一个方法停止start的执行

t.restart();//重新执行start()
}
}

赞同1楼的思路.
问题补充:
class tt{
private boolean flag = true;
void start(){
while(flag){
try{
Thread.sleep(1000);
}catch(InterruptedException e) {}
System.out.println(1);
}
}
void restart(){
flag = true;
System.out.println("restart");
start();
}

void stop(){
flag=false;
System.out.println("stop");
}

public static void main(String args[]){
tt t=new tt();
t.start();

//此处写一个方法停止start的执行
t.stop();

t.restart();//重新执行start()
}
}

import javax.swing.JOptionPane;

class tt {
boolean boo;
void start() {
int i = 0;
boo = true;
while (boo) {
try {
i++;
judge(i);// 判断是否结束运行
Thread.sleep(1000);
} catch (InterruptedException e) {
}
System.out.println(i);
}
}

void restart() {