我已经看过很多用于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
同样,这就是我从头开始编写它们的方式。