Difference between revisions of "Spec/Threading-Architecture"

From Apache OpenOffice Wiki
Jump to: navigation, search
m (OOo Threading Architecture: Added link.)
 
(15 intermediate revisions by one other user not shown)
Line 1: Line 1:
State:   draft         <br>
+
Type: Specification State: draft
Type:    specification  <br>
+
  
==OOo Threading Architecture==
+
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 OOo Threading Architecture leverages [[Spec/Threading Model|OOos]] respectively [[Uno/Spec/Threading Model|Unos]] threading model to only implement [[Uno/Term/Thread Aware|thread aware]] code where necessary. Principles of the threading architecture are
+
* 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]], [[Uno/Term/Thread Affine|thread affine]] respectively [[Uno/Term/Thread Free|thread free]]),
+
* all office code is specified to be [[Uno/Term/Thread Transparent|thread transparent]].
+
  
===[[Uno/Term/Thread Safe|Thread Safe]]===
+
==Principles==
The following modules are specified to be [[Uno/Term/Thread Safe|thread safe]]:
+
Principles of the threading-architecture are
* [http://ucb.openoffice.org/source/browse/ucb/ucb ucb]
+
* 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]]),
* [http://ucb.openoffice.org/source/browse/ucb/ucbhelper ucbhelper]
+
* all office APIs are specified to be [[Uno/Term/Thread Transparent|thread-transparent]].
* configmgr
+
* [http://framework.openoffice.org/source/browse/framework/desktop ?desktop?/pkgmagr]
+
  
===[[Uno/Term/Thread Affine|Thread Affine]]===
+
==Exceptions==
The following modules are specified to be [[Uno/Term/Thread Affine|thread affine]]:
+
===[[Uno/Term/Thread Safe|Thread-Safe]]===
* [http://util.openoffice.org/source/browse/util/svtools svtools/DDE]
+
The following modules are specified to be [[Uno/Term/Thread Safe|thread-safe]]:
* [http://gsl.openoffice.org/source/browse/gsl/dtrans dtrans/?clipboard?]
+
* UCB (Universal Content Broker) Component - {{Uno/UDKlink|ucb|ucb}}
* [http://gsl.openoffice.org/source/browse/gsl/dtrans dtrans/?Drag&Drop?]
+
* 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.
  
===Graphical Overview===
+
===[[Uno/Term/Thread Affine|Thread-Affine]]===
 +
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]]
 
[[Image:Spec_Architecture_Threading_Basic.jpg]]
  
===Dependencies===
+
==Dependencies==
* [[Uno/Effort/Creating the Uno Threading_Framework]]
+
* [[Spec/Threading-Model]]
* [[Effort/Making VCL Thread Transparent]]
+
  
  
[[Category:Spec:Architecture:Threading]]
+
[[Category:Spec]]
 +
[[Category:Architecture]]
 
[[Category:draft]]
 
[[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