Struct SmMultithreadTest1
Defined in File sm_multithread_test_1.hpp
Inheritance Relationships
Base Type
public smacc2::SmaccStateMachineBase< SmMultithreadTest1, StConcurrentOperation >
Struct Documentation
-
struct SmMultithreadTest1 : public smacc2::SmaccStateMachineBase<SmMultithreadTest1, StConcurrentOperation>
SmMultithreadTest1 - Demonstrates multi-threaded executor usage.
This state machine is designed to showcase the difference between single-threaded and multi-threaded execution models in SMACC2.
Architecture:
4 orthogonals, each with a timer client at different rates
Custom behaviors that simulate work and log thread IDs
Visual demonstration of concurrent vs serial execution
Initial State: StConcurrentOperation
Runs 4 concurrent timers for 15 seconds
Logs thread IDs and work simulation
Transitions to StComplete after 15 seconds
Terminal State: StComplete
Displays summary and instructions
Waits for user to terminate
Usage: Multi-threaded: ros2 launch sm_multithread_test_1 sm_multithread_test_1.launch.py Single-threaded: ros2 launch sm_multithread_test_1 sm_multithread_test_1_single.launch.py
Public Functions
-
inline virtual void onInitialize() override