Java 返回到原始类而不保留当前类
我有一个类(MC),里面有一个计时器,可以多次执行一项任务。完成后,我想回到原来的类(主),而不保留MC类 若我从MC调用方法(afterFinishingMC),我担心会出现递归堆栈堆积 这是我的代码:Java 返回到原始类而不保留当前类,java,multithreading,concurrency,timer,timertask,Java,Multithreading,Concurrency,Timer,Timertask,我有一个类(MC),里面有一个计时器,可以多次执行一项任务。完成后,我想回到原来的类(主),而不保留MC类 若我从MC调用方法(afterFinishingMC),我担心会出现递归堆栈堆积 这是我的代码: public class Menu { private mc = new MC(); public void main(String[] args) { mc.begin(); } Public void afterFinishingMC()
public class Menu {
private mc = new MC();
public void main(String[] args) {
mc.begin();
}
Public void afterFinishingMC() {
//code here
}
}
//MC class
import java.util.Timer;
import java.util.TimerTask;
public class MC {
public Timer timer = new Timer();
TimerTask task = new TimerTask() {
@Override
public void run() {
//code here
}
};
public void begin {
timer.schedule(task, 1000, 1000);
}
public void interrupt {
timer.cancel();
}
}
您的代码甚至可以编译,请编辑它,但您可以使用观察者模式。首先,我在这里没有看到递归。其次,计时器在单独的线程中运行。请更具体地说明你关心的是什么。纳科克:你为什么要编译它?原始代码很长,但这是为了让您了解问题。Aurand:我知道计时器在单独的线程中运行。我的问题是,如果我从MC内部调用afterFinishingMC(),它将等待afterFinishingMC()完成,然后返回MC。我不想返回MC。完成GMC()后,
有什么事要做?为什么这很重要?它在另一个类中定义,不引用MC。您能提供一个更好的代码片段,显示您实际要做的事情吗?