Difference between revisions of "Uno/Spec/Threading-Architecture"
From Apache OpenOffice Wiki
m (→API) |
m (Fixed categories.) |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
Type: Specification State: draft | Type: Specification State: draft | ||
− | + | Umbrella specification regarding when to use which thread related construct in [[:Category:Uno:Impl|Uno implementations]]. | |
− | + | ||
− | == | + | ==APIs== |
− | * When implementing fast APIs, use threads for accessing slow APIs. Do notify about completion asynchronously. | + | * When implementing [[Uno/Term/Fast API|fast APIs]], use threads for accessing [[Uno/Term/Slow API|slow APIs]]. Do notify about completion asynchronously. |
* Be conservative, only program thread related / [[Uno/Term/Thread Aware|aware]] where necessary. | * Be conservative, only program thread related / [[Uno/Term/Thread Aware|aware]] where necessary. | ||
− | * Implement public APIs etc. as wide as the parameters (e.g. always return appropriate purpose objects in case of [[Uno/Term/Object Binary Interface|OBI]] specialization) | + | * Implement public libraries APIs etc. as wide as the parameters (e.g. always return appropriate purpose objects in case of [[Uno/Term/Object Binary Interface|OBI]] specialization) |
* Implement public APIs [[Uno/Term/Thread Transparent|thread-transparent]]. | * Implement public APIs [[Uno/Term/Thread Transparent|thread-transparent]]. | ||
* Only program [[Uno/Term/Thread Safe|thread-safe]], if parallelism is required (e.g. for interrupting a method call). | * Only program [[Uno/Term/Thread Safe|thread-safe]], if parallelism is required (e.g. for interrupting a method call). | ||
Line 17: | Line 16: | ||
+ | [[Category:Draft]] | ||
+ | [[Category:Spec]] | ||
+ | [[Category:Uno]] | ||
[[Category:Uno:Spec]] | [[Category:Uno:Spec]] | ||
− |
Latest revision as of 08:37, 29 November 2006
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).