我已经看到了很多针对JAVA的FSM实现,但我不确定是否有任何“可重用”的实现。可重用的是什么意思?
我正处理具有各种状态的多个对象的状态转换。我想配置一个单独的状态机,它显然本身需要无状态和线程安全,所以我可以传递所有给定的对象,以便并行执行它们的状态转换。
我想知道这个场景中是否有合适的场景?
答案 0 :(得分:3)
这可能与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
同样,这就是我从头开始编写它们的方式。