SketchUp is not thread safe. The C API inherits this.
But you might be able to use multiple threads to read from a model.
I say “might” because if you are using the C API within SketchUp itself (via a Ruby C Extension) then there might be cache invalidation that throws a spanner in the works - depending on how to read.
In the standalone C API (using outside of SketchUp - via SketchUpAPI.lib) then you should be fine. If you use it within SketchUp (Live C API - via sketchup.lib) then you are probably fine as long as you use the main thread to join the child-threads. Doing so should prevent SU from being able to update anything while you read.
This isn’t something we have tested - so mileage may vary.