Hi, all! Something that is not too clear in the docs: OOos support for concurrency in UNO components. My questions:
1 - Can tightly integrated components (such as C++ or Python ones) have multiple threads?
UNO components can spawn new threads. (Not sure what you mean with "tightly integrated.")
2 - How well does OOo handle asynchronous calls from such components?
The current OOo implementation is known to have trouble when simultaneously accessed from multiple threads. If you encounter any such problems, please file issues.
Note that the term "asynchronous call" is sometimes confusingly used as a synonym for "oneway call" in the UNO documentation. (What a oneway call is should be described in the Developers Guide.)
3 - What is the lifetime of acquired interfaces? Should, on every asynchronous call, a thread requery
the context for interfaces?
Once any code has acquired a UNO object (via one of the object's interfaces), the object remains alive (and the reference to it valid) at least as long as the reference is held up. No need to re-acquire or re-query anything.
4 - What about contexts? May a context object be stored and asynchronously requeried?
What do you mean with "context object"---an instance of XComponentContext? There is no special casing for these objects, see point 3.
-Stephan
PS: <http://udk.openoffice.org/common/man/execution.html> and <http://udk.openoffice.org/common/man/lifecycle.html> should cover this, but that's rather heavy reading. :)
Cheers,
Robin.
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
