LotusScript でのマルチスレッド化と同期の概要

LotusScript® はスレッド保護されているため、複数の LotusScript Web エージェントを Domino Server 内で同時に実行することができます。

1 つのスレッドは LotusScript の 1 つのインスタンス (この場合はエージェント) です。すべてのスレッドは同一メモリスペース内で実行されます。LotusScript のスレッドは、グローバル変数の更新やさまざまな内部データ構造の競合に対して保護されていません。複数のエージェントを実行することにより、実行中の LotusScript のインスタンスを相互に同期します。

LotusScript エージェントは、同一 HTTP プロセス内の別スレッドで実行されます。プロセスとは、単一のアプリケーションを実行する 1 つ以上のスレッドの集合です。

コンテキストスイッチは、現在の状態 (ハードウェアとソフトウェア) を保存し、その状態を復元することによって別のスレッドまたはプロセスへ切り替える役目を果たします。

タイムスライスは、コンテキストを次のスレッドまたはプロセスへ切り替える前にスレッドまたはプロセスを実行するために与えられた時間です。

スレッドは必要なリソースが利用できないときはブロックされます。

排他更新とは、あるスレッドの更新を別のスレッドが確認していて、更新が完全に終了するまで妨げないような更新のことです。