LOTUSSCRIPT 言語


エージェントをスレッド保護する利点
順次エージェントと比べて、エージェントをスレッド化すると次のような利点があります。
Domino R4.5.1 以降では複数の Web エージェントをサポートしているので、LotusScript エージェントを同一プロセス内の別スレッドで実行できます。Domino で複数のユーザーが同時に Web エージェントをアクティブにしたときに、サーバーがスレッド対応になっていないと、エージェントは 1 つずつ順番に実行されます。Domino の同期化エージェントを使えるようにする手順は、「Domino Server 上での非同期エージェントの実行」を参照してください。

順次実行されるエージェント
次の例では、ユーザー A のエージェントは、完了するまでの間サーバーに対して制御を行っていました。ユーザー B は、Agent 1 が完了するまで何の操作を行うこともできませんでした。
時刻操作備考
0 ユーザー A がエージェント 1 をアクティブにします。
1 計算エージェント 1 が開始します。ユーザー B がエージェント 2 をアクティブにします。
2計算エージェント 1 が実行中です。
3計算エージェント 1 が実行中です。
4計算エージェント 1 が実行中です。
5出力エージェント 1 が終了します。
6計算ユーザー B のエージェント 2 が開始します。
7出力エージェント 2 が終了します。
スレッド化されたエージェント
次の例では、ユーザー B はすぐに結果を得ることができます。ユーザー A は遅れて応答を受け取りますが、時間差はわずかです。
時刻スレッド 1スレッド 2備考
0 ユーザー A がエージェント 1 をアクティブにします。
1 計算エージェント 1 が開始します。ユーザー B がエージェント 2 をアクティブにします。
2計算エージェント 1 が実行中です。
3計算エージェント 1 がスワップアウトします。エージェント 2 が開始します。
4出力エージェント 2 が終了します。
5計算エージェント 1 が実行中です。
6計算エージェント 1 が実行中です。
7出力エージェント 1 が終了します。
関連項目