Java:从方法调用中重新控制

时间:2014-01-14 17:57:00

标签: java methods interrupt

在实现两个问题(有限状态机和遗传编程)的解决方案时,我面临着有效地想要取消方法执行的同样问题。 以有限状态机为例,我有

  public class FiniteStateMachine {

    public class runState(State state) {
      state.run();
    }

  }

我无法控制State,我所能做的就是调用run方法。有时state可能表现不佳,例如它们可能需要太多时间或太多字节码。我想阻止它们,即取消运行。我怎么能这样做,不能改变State,只能使用FiniteStateMachine和单线程代码。

1 个答案:

答案 0 :(得分:2)

  

我无法控制状态,我只能调用其run方法。   我怎么能这样做,而不能只改变状态   FiniteStateMachine和单线程代码。

根据语言规范,不幸的是不可能。这只能通过多线程方法实现。

如果您可以修改State,则可以单线程进行修改,但如果State是黑盒子,那么您真的被卡住了。没有办法。