Difference between revisions of "Spec/Threading-Model"

From Apache OpenOffice Wiki
Jump to: navigation, search
m (Fixed type field.)
m (Dependencies: Category:Multi-Threading)
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
Type:   Specification<br>
+
Type: Specification Status: final
Status: final<br>
+
  
Author: Kai Sommerfeld, Kay Ramme
+
==Description==
 +
According to the [[Architecture/Goals for OOo Threading-Model&-Architecture]] for the OOo threading-model, the OOo threading-model has to support the following thread related implementation types,
 +
* [[Uno/Term/Thread Affine|thread-affine]],
 +
* [[Uno/Term/Thread Safe|thread-safe]], and
 +
* [[Uno/Term/Thread Unsafe|thread-unsafe]].
  
==The OOo Threading Model==
+
Every of these types could be implemented with the help of libraries etc., the most simple and elegant solution seems to be the extension of the [[Uno/Binary|Binary Uno Runtime]], ideally supporting the declaration of the threading related implementation type.
According to the [[Architecture/Threading|goals]] for the OOo Threading Model, the OOo Threading Model has to support three threading types:
+
* [[Uno/Term/Thread Affine|thread affine]]
+
* [[Uno/Term/Thread Safe|thread safe]]
+
* [[Uno/Term/Thread Unsafe|thread unsafe]]
+
  
Every of these types could be implemented with the help of libraries etc., the most simple and elegant solution seems to be the extension of the [[Uno/Binary|Binary UNO Runtime]], ideally supporting the declaration of the threading model to be used.  
+
This means, that the OOo threading-model is going to be the [[Uno/Spec/Threading-Model|Uno threading-model]], which also fits with the [[Architecture/OOo as Uno Components|vision]], OOo just being a set of [[Uno]] components.
  
This means, that the OOo threading model is going to be the [[Uno/Spec/Threading Model|UNO Threading Model]], which also fits with the [[Architecture/OOo as UNO Components|vision]], of OOo just being a set of UNO components.
+
The rules for [[Uno]] in respect to threading, basically repeating the threading-model goals, are
 +
* Uno APIs have to be implemented [[Uno/Term/Thread Safe|thread-safe]],
 +
* Uno APIs have to be implemented [[Uno/Term/Thread Transparent|thread-transparent]],
 +
* code has to be implemented following one of three threading approaches (addressing (d),(f)),
 +
** [[Uno/Term/Thread Affine|thread-affine]],
 +
** [[Uno/Term/Thread Safe|thread-safe]], or
 +
** [[Uno/Term/Thread Unsafe|thread-unsafe]].
  
The rules for UNO in respect to threading, basically repeating the threading model goals, are:
+
It is proposed, the OOo threading-model to be the [[Uno/Spec/Threading-Model|Uno threading-model]].
* UNO APIs have to be implemented thread safe
+
* UNO APIs have to be implemented thread transparent
+
* Code has to be implemented following one of three threading approaches (addressing (d),(f)):
+
** [[Uno/Term/Thread Affine|thread affine]]
+
** [[Uno/Term/Thread Safe|thread safe]]
+
** [[Uno/Term/Thread Unsafe|thread unsafe]]
+
  
It is proposed, the OOo Threading Model to be the [[Uno/Spec/Threading Model|UNO Threading Model]].
+
==Dependencies==
 +
* [[Uno/Spec/Threading-Model]]
  
  
 
[[Category:Spec]]
 
[[Category:Spec]]
 +
[[Category:Multi-Threading]]

Latest revision as of 07:09, 19 June 2007

Type: Specification Status: final

Description

According to the Architecture/Goals for OOo Threading-Model&-Architecture for the OOo threading-model, the OOo threading-model has to support the following thread related implementation types,

Every of these types could be implemented with the help of libraries etc., the most simple and elegant solution seems to be the extension of the Binary Uno Runtime, ideally supporting the declaration of the threading related implementation type.

This means, that the OOo threading-model is going to be the Uno threading-model, which also fits with the vision, OOo just being a set of Uno components.

The rules for Uno in respect to threading, basically repeating the threading-model goals, are

It is proposed, the OOo threading-model to be the Uno threading-model.

Dependencies

Personal tools