我已经看到不少用于 JAVA 的 FSM 实现,但我不确定是否有任何“可重用”的实现。我所说的可重复使用是什么意思?
我正在处理具有各种状态的多个对象的状态转换。我想配置一个单例状态机,它本身显然需要是无状态的和线程安全的,所以我可以传递所有给定的对象,让它们的状态转换可以并行执行。
我想知道是否有适合这种情况的方案?
我已经看到不少用于 JAVA 的 FSM 实现,但我不确定是否有任何“可重用”的实现。我所说的可重复使用是什么意思?
我正在处理具有各种状态的多个对象的状态转换。我想配置一个单例状态机,它本身显然需要是无状态的和线程安全的,所以我可以传递所有给定的对象,让它们的状态转换可以并行执行。
我想知道是否有适合这种情况的方案?
这可能是https://stackoverflow.com/questions/10875317/recommended-fsm-finite-state-machine-library-for-java的副本,但很难确定。我以前在多线程系统中使用过 SMC。
可能适合您的更简单的状态机是使用这样的枚举。
http://vanillajava.blogspot.com/2011/06/java-secret-using-enum-as-state-machine.html
同样,这就是我从头开始编写它们的方式。