Difference between revisions of "Uno/Binary/Spec/Threading-Model"
m (Adapted Links.) |
(Moved "rationale" to Spec/Threading-Model.) |
||
Line 15: | Line 15: | ||
The [[Uno/Term/Threading-Model|threading-model]] specification for [[Uno/Binary|Binary Uno]] is the sum of the specifications of the parts, see below for details. | The [[Uno/Term/Threading-Model|threading-model]] specification for [[Uno/Binary|Binary Uno]] is the sum of the specifications of the parts, see below for details. | ||
− | |||
− | |||
− | |||
==API== | ==API== |
Revision as of 15:51, 6 September 2006
Type: Specification State: draft
Description
The refined specification of the abstract threading-model for the Binary Uno runtime.
Support threading type specific compilation via #define
. Specify defines for the following threading types,
Threading-model specific environments are backed by the appropriate purpose environments.
-
"<OBI>:unsafe"
is backed by the default Uno/Binary/Spec/Thread Unsafety Bridge. -
"<OBI>"
is backed by the default thread-safe environment (as usual). -
"<OBI>:affine"
is backed by the default Uno/Binary/Spec/Thread Affinity Bridge.
The threading-model specification for Binary Uno is the sum of the specifications of the parts, see below for details.
API
The following new defines select the threading type for Binary Uno:
-
UNO_THREAD_SAFE
-
UNO_THREAD_UNSAFE
-
UNO_THREAD_AFFINE
Services / Client code compiled with one of these defines lifes in the associated environment. Not defining one of these defines, lets binary UNO fall back to CPPU_THREAD_SAFE
, and gives a warning. This is compatible with the original behaviour.
The Associated environments are:
-
UNO_THREAD_SAFE
=>"<OBI>"
-
UNO_THREAD_UNSAFE
=>"<OBI>:unsafe"
-
UNO_THREAD_AFFINE
=>"<OBI>:affine"
, see Uno/Binary/Spec/Thread Affinity Bridge for details.