This article combines the two previously described techniques, state machines and asynchronous callbacks, into a single project, showcasing how multiple state machines coordinate activities.
The goal for the article is to provide a complete working project with threads, timers, events, and state machines all working together, illustrated by a self-test engine.
I won't be re-explaining the StateMachine and AsyncCallback<> implementations as the prior articles do that already, focusing on their integration instead.
Visual Studio projects from 2008 and 2015 are included for easy experimentation, and while designed for Windows, the code is partitioned for easy porting.
Collection
[
|
...
]