Difference between revisions of "Spec/Threading-Architecture"

From Apache OpenOffice Wiki
Jump to: navigation, search
m (Adapted Links.)
 
(5 intermediate revisions by one other user not shown)
Line 1: Line 1:
Type: Specification <br>
+
Type: Specification State: draft
State: draft         <br>
+
  
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 implement [[Uno/Term/Thread Aware|thread-aware]] code where necessary only.  
  
 
==Principles==
 
==Principles==
 
Principles of the threading-architecture are
 
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]],
+
* 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]]),
* all office code is specified to be [[Uno/Term/Thread Transparent|thread-transparent]].
+
* all office APIs are specified to be [[Uno/Term/Thread Transparent|thread-transparent]].
  
==[[Uno/Term/Thread Safe|Thread-Safe]]==
+
==Exceptions==
 +
===[[Uno/Term/Thread Safe|Thread-Safe]]===
 
The following modules are specified to be [[Uno/Term/Thread Safe|thread-safe]]:
 
The following modules are specified to be [[Uno/Term/Thread Safe|thread-safe]]:
 
* UCB (Universal Content Broker) Component - {{Uno/UDKlink|ucb|ucb}}
 
* UCB (Universal Content Broker) Component - {{Uno/UDKlink|ucb|ucb}}
Line 17: Line 17:
 
* The office connection acceptor (server) component in the desktop project.
 
* The office connection acceptor (server) component in the desktop project.
  
==[[Uno/Term/Thread Affine|Thread-Affine]]==
+
===[[Uno/Term/Thread Affine|Thread-Affine]]===
 
The following modules are specified to be [[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}}
+
* DDE (Dynamic Data Exchange)     - {{Uno/UDKlink|svtools|util/source/svdde}}
* Windows Clipboard Component - {{Uno/UDKlink|dtrans/source/win32/clipbe|gsl}}
+
* Windows Clipboard Component     - {{Uno/UDKlink|dtrans/source/win32/clipbe|gsl}}
* Windows Drag&Drop Component - {{Uno/UDKlink|dtrans/source/win32/dnd|gsl}}
+
* Windows Drag&Drop Component     - {{Uno/UDKlink|dtrans/source/win32/dnd|gsl}}
 +
* Windows Shell Execute Component - {{Uno/UDKlink|shell/source/win32|gsl}}
  
 
==Overview==
 
==Overview==
Line 30: Line 31:
  
  
[[Category:Spec:Architecture]]
+
[[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