Uno/Spec/Threading-Architecture
From Apache OpenOffice Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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).