Difference between revisions of "Uno/Spec/Threading-Architecture"

From Apache OpenOffice Wiki
< Uno‎ | Spec
Jump to: navigation, search
(Uno Threading-Architecture specification.)
 
m (Fixed categories.)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
Type: Specification  State: draft
 
Type: Specification  State: draft
  
==Feature==
+
Umbrella specification regarding when to use which thread related construct in [[:Category:Uno:Impl|Uno implementations]].
Concretely specify when to use which thread related construct.
+
  
==API==
+
==APIs==
* When implementing fast code, 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]]
[[Category:draft]]
 

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).

Dependencies

Personal tools