Uno/Spec/Threading-Architecture
From Apache OpenOffice Wiki
Type: Specification State: draft
Umbrella specification regarding when to use which thread related construct in Uno implementations.
APIs
- When implementing fast APIs, use threads for accessing slow APIs. Do notify about completion asynchronously.
- Be conservative, only program thread related / aware where necessary.
- Implement public libraries APIs etc. as wide as the parameters (e.g. always return appropriate purpose objects in case of OBI specialization)
- Implement public APIs thread-transparent.
- Only program thread-safe, if parallelism is required (e.g. for interrupting a method call).
- Encapsulate thread-affinity.
- Enable concurrent access to inter-thread objects (avoiding bottlenecks).