Threading offers the following advantages over serial agents:
Domino Release 4.5.1 and later supports multiple Web agents, allowing each LotusScript agent to run in a separate thread in the same process. In Domino, if multiple users activate Web agents simultaneously and the server is not thread-enabled, the agents will be serialized. To enable Domino synchronized agents, see the section "Running asynchronous agents on the Domino server."
In this example, User A's agent had control over the server until it completed. User B saw no activity until Agent 1 was finished.
Time
|
Operation
|
Comments
|
0 |
User A activates Agent 1. |
|
1 |
Compute |
Agent 1 starts. User B activates Agent 2. |
2 |
Compute |
Agent 1 running. |
3 |
Compute |
Agent 1 running. |
4 |
Compute |
Agent 1 running. |
5 |
|
Agent 1 ends. |
6 |
Compute |
Start User B's Agent 2. |
7 |
|
Agent 2 ends. |
In this example, User B sees results sooner. User A sees response later, but the time difference is not noticeable.
Time
|
Thread1
|
Thread2
|
Comments
|
0 |
User A activates Agent 1. |
||
1 |
Compute |
Agent 1 starts. User B activates Agent B. |
|
2 |
Compute |
Agent 1 running. |
|
3 |
Compute |
Agent 1 swapped out. Agent 2 starts. |
|
4 |
|
Agent 2 ends. |
|
5 |
Compute |
Agent 1 running. |
|
6 |
Compute |
Agent 1 running. |
|
7 |
|
Agent 1 ends. |