Thread-safety of RhinoCommon in multiple instances

Previously I’ve learned that RhinoCommon is not thread-safe.

From my own experience, setting up multiple threads in a custom plugin and trying to access RhinoCommon from a few threads at the same time yielded unpredictable results.

What is not clear to me is if RhinoCommon is thread-safe when you run multiple instances of Rhino simultaneously.

I’d like to see about running a few instances of Rhino to run the same operations on a few different files simultaneously. These operations can take many minutes to compute and was thinking I could speed work up by running a few things at the same time. I’d only do this, however, if I know that I will get very consistent results.

Each instance of Rhino runs in its own process and is not aware of the other instances.
As a result, each instance of Rhino operates independently, and the behavior and results of the operations in one instance will not be impacted by the operations in another instance.
Therefore yes, Rhino is not threadsafe but running multiple instances of rhino might work depending on your specific system and the operations you are running.

1 Like