Difference between revisions of "Uno/Spec/Threading-Model"

From Apache OpenOffice Wiki
< Uno‎ | Spec
Jump to: navigation, search
m (Improved style.)
m (API: Cleared.)
Line 15: Line 15:
  
 
=== API ===
 
=== API ===
; [[Uno/Spec/Purpose Environment | Purpose Environment]]: The different threading types are supported by using [[Uno/Spec/Purpose Environment |Purpose Environments]].
+
Two thread related purposes:
; [[Uno/Spec/Implementation Environment | Implementation Environment]]: The actual threading type can be selected in a [[Uno/Spec/Lanuage Binding | Language Binding]] typical way and is backed by the appropriate [[Uno/Spec/Purpose Bridge | Purpose Bridge]]. The used [[Uno/Spec/Purpose Bridge | Purpose Bridges]] are the
+
* <code>":unsafe"</code> - for [[Uno/Term/Thread Unsafe|Thread Unsafe]] code.
:* [[Uno/Spec/Thread Unsafety Bridge | Thread Unsafety Bridge]] for [[Uno/Spec/Thread Unsafe | Thread Unsafe]] code and the
+
* <code>":affine"</code> - for [[Uno/Term/Thread Affine|Thread Affine]] code.
:* [[Uno/Spec/Thread Affinity Bridge | Thread Affinty Bridge]]  for [[Uno/Spec/Thread Affine | Thread Affine]] code. [[Uno/Spec/Thread Safe | Thread Safe]] code does not need to be backed, as this is the default for plain code, these also preserves compatibility with previous UNO versions.
+
 
+
Code may as well be declared [[Uno/Spec/Thread Free | Thread Free]], so that it may be used from any other kind of code.
+
 
+
; [[Uno/Spec/Environment Stack | Environment Stack]]: The current (purpose) environment does not only vary with the implementation language (e.g. Java or C++), but also with the executed codes declared threading type. An API for accessing the ''current'' environment is provided.
+
 
+
; [[Uno/Spec/Cascaded Mapping|Cascaded Mapping]]: Purpose environments may be passed to the [[Uno/Spec/Runtime | Runtime]] for retrieving cascaded mappings (<code>"gcc3"</code> => <code>"java:unsafe:debug"</code>).
+
  
 
=== Dependencies ===
 
=== Dependencies ===

Revision as of 13:07, 16 June 2006

state: draft
type: specification

UNO Threading Model

Feature

The UNO Runtime provides support for implementing

Code. The threading type of any code can be specified appropriately. The Thread Unsafe type is the default type for any implementation.

Rationale

API

Two thread related purposes:

Dependencies

Personal tools