エージェントをスレッド保護する利点

順次エージェントと比べて、エージェントをスレッド化すると次のような利点があります。

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

順次実行されるエージェント

次の例では、ユーザー A のエージェントは、完了するまでの間サーバーに対して制御を行っていました。ユーザー B は、Agent 1 が完了するまで何の操作を行うこともできませんでした。

Time

演算

コメント

0

 

ユーザー A がエージェント 1 をアクティブにします。

1

計算

エージェント 1 が開始します。ユーザー B がエージェント 2 をアクティブにします。

2

計算

エージェント 1 が実行中です。

3

計算

エージェント 1 が実行中です。

4

計算

エージェント 1 が実行中です。

5

Print

エージェント 1 が終了します。

6

計算

ユーザー B のエージェント 2 が開始します。

7

Print

エージェント 2 が終了します。

スレッド化されたエージェント

次の例では、ユーザー B はすぐに結果を受信します。ユーザー A は遅れて応答を受信しますが、時間差はわずかです。

Time

スレッド 1

スレッド 2

コメント

0

   

ユーザー A がエージェント 1 をアクティブにします。

1

計算

 

エージェント 1 が開始します。ユーザー B がエージェント 2 をアクティブにします。

2

計算

 

エージェント 1 が実行中です。

3

 

計算

エージェント 1 がスワップアウトします。エージェント 2 が開始します。

4

 

Print

エージェント 2 が終了します。

5

計算

 

エージェント 1 が実行中です。

6

計算

 

エージェント 1 が実行中です。

7

Print

 

エージェント 1 が終了します。