ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Yes, ROS 1 uses the linux scheduler. By default, roscpp has a background thread to handle socket activity, and processes callbacks serially on a the main thread when you can ros::spin() or ros::spinOnce(). You can change how many threads are used by using an async spinner or multithreaded spinner.

You are free to use the linux tools for scheduling to change how linux schedules your processes or threads. (I am not sure about ROS 2 but I think it is the same).

Yes, ROS 1 uses the linux scheduler. By default, roscpp has a background thread to handle socket activity, and processes callbacks serially on a the main thread when you can ros::spin() or ros::spinOnce(). You can change how many threads are used by using an async spinner or multithreaded spinner.

You are free to use the linux tools for scheduling to change how linux schedules your processes or threads. (I am not sure about ROS 2 but I think it is the same).