Spec/Threading-Architecture
From Apache OpenOffice Wiki
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