変数へのアクセスは常にシリアル化されるので、状況に適したタイプの変数が使用される限り、ユーザーによる明示的な同期は必要ありません。 各変数のタイプによって、特定の状況での並列実行の意味が決まります。 たとえば、2 つの異なるルール セットによって読み取りおよび書き込みが行われる文字列を格納するためにグローバル変数を使用する場合、読み取りおよび書き込みはアトミックであることが保証されます。 しかし、現在の値は、変数に書き込む最後のルール セット インスタンスによって決定されます。
長時間実行されるルール チェーン内の一時的な情報を格納するためにルール セット変数を使用する場合、値が取得されるときには格納された値が変数に割り当てられていない可能性が高くなります。 ルール セットの後の実行によって上書きされている可能性が高くなるためです。 しかし、一時変数を使用する場合、各実行で専用の変数のインスタンスが使用されるので、取得時に依然として正しい値が取得されます。
次の表に、各用途で使用できる変数タイプの概要を示します。
用途 |
変数タイプ |
|
|
---|---|---|---|
|
グローバル |
ルール セット |
テンポラリ |
外部参照の分離 |
対応 |
状況による |
未対応 |
複雑なイベント プロパティの参照の簡素化 |
未対応 |
未対応 |
対応 |
処理または実行の状態の永続化 |
状況による |
状況による |
対応 |