Difference between revisions of "Spec/Threading-Architecture"

From Apache OpenOffice Wiki
Jump to: navigation, search
(The Basic OOo Threading Architecture)
 
 
(31 intermediate revisions by one other user not shown)
Line 1: Line 1:
State: draft
+
Type: Specification State: draft
  
The Basic OOo threading architecture defines all OOo components and applications to default to be thread unsafe, with only a few well motivated exceptions for thread safeness and thread affinity.
+
The OOo Threading Architecture leverages [[Spec/Threading-Model|OOos]] respectively [[Uno/Spec/Threading-Model|Unos threading-model]] to implement [[Uno/Term/Thread Aware|thread-aware]] code where necessary only.  
  
The following modules are declared to be thread safe:
+
==Principles==
* ucb
+
Principles of the threading-architecture are
* ucbhelper
+
* all components, libraries and applications default to be [[Uno/Term/Thread Unsafe|thread-unsafe]], with only a few well motivated exceptions (being [[Uno/Term/Thread Safe|thread-safe]] or [[Uno/Term/Thread Affine|thread-affine]]),
* io/acceptor
+
* all office APIs are specified to be [[Uno/Term/Thread Transparent|thread-transparent]].
* configmgr
+
* ?desktop?/pkgmagr
+
  
The following modules are declared to be thread affine:
+
==Exceptions==
* ?tools?/DDE
+
===[[Uno/Term/Thread Safe|Thread-Safe]]===
* dtrans/?clipboard?
+
The following modules are specified to be [[Uno/Term/Thread Safe|thread-safe]]:
* dtrans/?Drag&Drop?
+
* UCB (Universal Content Broker) Component - {{Uno/UDKlink|ucb|ucb}}
 +
* UCB Helper Library - {{Uno/UDKlink|ucbhelper|ucb}}
 +
* Config Manager Components - {{Uno/UDKlink|configmgr|util}}
 +
* Package Manager - {{Uno/UDKlink|desktop/source/pkgchk|framework}}
 +
* The office connection acceptor (server) component in the desktop project.
  
Which leads to the following graphical overview:
+
===[[Uno/Term/Thread Affine|Thread-Affine]]===
[[Image:Spec Architecture Threading Layout I.jpg]]
+
The following modules are specified to be [[Uno/Term/Thread Affine|thread-affine]]:
 +
* DDE (Dynamic Data Exchange)    - {{Uno/UDKlink|svtools|util/source/svdde}}
 +
* Windows Clipboard Component    - {{Uno/UDKlink|dtrans/source/win32/clipbe|gsl}}
 +
* Windows Drag&Drop Component    - {{Uno/UDKlink|dtrans/source/win32/dnd|gsl}}
 +
* Windows Shell Execute Component - {{Uno/UDKlink|shell/source/win32|gsl}}
 +
 
 +
==Overview==
 +
[[Image:Spec_Architecture_Threading_Basic.jpg]]
 +
 
 +
==Dependencies==
 +
* [[Spec/Threading-Model]]
 +
 
 +
 
 +
[[Category:Spec]]
 +
[[Category:Architecture]]
 +
[[Category:draft]]
 +
[[Category:Multi-Threading]]

Latest revision as of 11:28, 23 July 2008

Type: Specification State: draft

The OOo Threading Architecture leverages OOos respectively Unos threading-model to implement thread-aware code where necessary only.

Principles

Principles of the threading-architecture are

Exceptions

Thread-Safe

The following modules are specified to be thread-safe:

Thread-Affine

The following modules are specified to be thread-affine:

Overview

Spec Architecture Threading Basic.jpg

Dependencies

Personal tools