How does the Expedition API behave when API calls come in from a multi threaded client?
We are doing an AddIn with a Gui and that Gui isn't supposed to freeze duting API operations. The standard way for windows Forms Applications (a COM registered dll in our case) is to have the Gui in the main thread and to run the operations in a separate (background) thread. In that case the Expedition API would sit on a blocking API call (the one that does the Gui and pumps the windows message queue) and receive API calls from another thread of the same process.
- Would that reliably work with the Expedition API?
- How much locking goes on in the Expedition API? When one thread creates a user layer text and the other scans through the user layer text collection, how much trouble can we get into?
- Can two threads access the API concurrently in a readonly way?
- Are method calls like Object.IsValid() thread safe?
- What about iterating through collections?
Logs of Greetings!