Difference between revisions of "Spec/Threading-Model"

From Apache OpenOffice Wiki
Jump to: navigation, search
(moved from udk.openoffice.org)
 
(Wording, added some links.)
Line 1: Line 1:
 
Type:    proposal<br>
 
Type:    proposal<br>
 
Status:  draft<br>
 
Status:  draft<br>
Version: 0.1<br>
 
  
 
Author:  Kai Sommerfeld, Kay Ramme
 
Author:  Kai Sommerfeld, Kay Ramme
  
 
== The OOo Threading Model ==
 
== The OOo Threading Model ==
According to the goals for the OOo Threading Model, the OOo threading model has to support three threading approaches:  
+
According to the [[Architecture/Threading]] goals for the OOo Threading Model, the OOo Threading Model has to support three threading types:  
* Thread Affine  
+
* [[Uno/Spec/Thread Affine | Thread Affine]]
* Thread Safe  
+
* [[Uno/Spec/Thread Safe | Thread Safe]]
* Thread Unsafe  
+
* [[Uno/Spec/Thread Unsafe | Thread Unsafe]]
  
Every of these approaches could be implemented with the help of libraries etc., but the most simple and elegant solution seems to be to build it into the UNO runtime, ideally supporting any kind of code to declare the threading model to be used.  
+
Every of these types could be implemented with the help of libraries etc., but the most simple and elegant solution seems to be to build it into the [[Uno/Binary | Binary UNO Runtime]], ideally supporting any kind of code to declare the threading model to be used.  
  
That means, that the OOo threading model is going to be the UNO threading model. This also fits with the vision, of OOo just being a set of UNO components.
+
That would mean, that the OOo threading model is going to be the [[Uno/Spec/Threading Model | UNO Threading Model]]. This 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:  
 
The rules for UNO in respect to threading, basically repeating the threading model goals, are:  
Line 19: Line 18:
 
* UNO APIs have to be implemented thread transparent  
 
* UNO APIs have to be implemented thread transparent  
 
* Code has to be implemented following one of three threading approaches (addressing (d),(f)):  
 
* Code has to be implemented following one of three threading approaches (addressing (d),(f)):  
** Thread Affine  
+
** [[Uno/Spec/Thread Affine | Thread Affine]]
** Thread Safe  
+
** [[Uno/Spec/Thread Safe | Thread Safe]]
** Thread Unsafe  
+
** [[Uno/Spec/Thread Unsafe | Thread Unsafe]]
  
It is proposed, that the OOo Threading Model is the UNO Threading Model.
+
It is proposed, that the OOo Threading Model is the [[Uno/Spec/Threading Model | UNO Threading Model].

Revision as of 13:47, 21 April 2006

Type: proposal
Status: draft

Author: Kai Sommerfeld, Kay Ramme

The OOo Threading Model

According to the Architecture/Threading goals for the OOo Threading Model, the OOo Threading Model has to support three threading types:

Every of these types could be implemented with the help of libraries etc., but the most simple and elegant solution seems to be to build it into the Binary UNO Runtime, ideally supporting any kind of code to declare the threading model to be used.

That would mean, that the OOo threading model is going to be the UNO Threading Model. This also fits with the 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 thread safe
  • UNO APIs have to be implemented thread transparent
  • Code has to be implemented following one of three threading approaches (addressing (d),(f)):

It is proposed, that the OOo Threading Model is the [[Uno/Spec/Threading Model | UNO Threading Model].

Personal tools