MultiThreadedExecutor with components
I'm writing a driver for a camera that reads images and publishes them in a message. I'm writing this as a component node which gets loaded manually in a manual_composition program similar to the demo here. I would like to add many nodes to this and have it run multithreaded. In my code i change the SingleThreadExecutor to a MultiThreadExecutor. The program runs fine with the SingleThreadExecutor but when I run it with the MultiThreadExecutor the camera driver performs poorly and does not read the frames fast enough. I would appreciate any help tracing down what the issue is that is causing this. My system information is below, and I can provide any additional information that will help. Thanks.
- Ros Distro: Eloquent
- Package: rclcpp
- OS: Ubuntu 18.04
- Kernel: 5.3.0-40-generic
- Architecture: x86_64