Mutexコンポーネント

kwakui2006-05-12

指定されたIDに対してロックを作成し、ロックが解除されるまで他のスレッド(フロー)のそのIDへのロックをブロックします。
ロックの期間はUnLockが実行された時、またはフローの終了までとなり、フローをまたがるロックは生成できません。
ロックが解除された時に複数のスレッドが、そのIDに対して待機状態であった場合、次にロックを獲得するスレッドがどれになるかは不定です。

名前データ型/候補値マッピング説明
IDstring入力&出力


生成するロックのIDです。

IDが指定されない場合はフロー名(オーナー名 + プロジェクト名 + フロー名)がIDとなります。

Timeoutinteger


ロック獲得までに待機する時間を秒単位で指定します。

指定時間を経過してもロックが獲得できなかった場合はExceptionとなります。

0を指定した場合はタイムアウトは発生しません。

ActionchoiceLock


動作を指定します。

Lock−ロックします。

UnLock−ロックを解除します。他のスレッドのかけたロックを強制的に解除することもできるので使い方には注意が必要です。

UnLock

コメント
ちょっと並列処理の項でも取り上げたMutexロックを行うコンポーネントです。
基本的にはこのコンポーネントは2つ対で利用します。ロックと解除ということですね。

性能向上のためにもロックする区間は短ければ短いほどいいです。


ASTERIA 実践ガイド ?マウスで楽々プログラミング

ASTERIA 実践ガイド ?マウスで楽々プログラミング