Difference between revisions of "Spec/Threading-Architecture"
From Apache OpenOffice Wiki
m (→Dependencies: Category:Multi-Threading) |
m (→Thread-Affine) |
||
Line 19: | Line 19: | ||
===[[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== |
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
- all components, libraries and applications default to be thread-unsafe, with only a few well motivated exceptions (being thread-safe or thread-affine),
- all office APIs are specified to be thread-transparent.
Exceptions
Thread-Safe
The following modules are specified to be thread-safe:
- UCB (Universal Content Broker) Component - ucb/ucb
- UCB Helper Library - ucb/ucbhelper
- Config Manager Components - util/configmgr
- Package Manager - framework/desktop/source/pkgchk
- The office connection acceptor (server) component in the desktop project.
Thread-Affine
The following modules are specified to be thread-affine:
- DDE (Dynamic Data Exchange) - util/source/svdde/svtools
- Windows Clipboard Component - gsl/dtrans/source/win32/clipbe
- Windows Drag&Drop Component - gsl/dtrans/source/win32/dnd
- Windows Shell Execute Component - gsl/shell/source/win32