Advantages of thread-safe agents
Threading offers the following advantages over serial agents:
- Computer resources on Domino® Web servers are used more efficiently.
- The system allows concurrent use by many people.
- The client/server programming model can be used.
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."
Agents run serially
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. |
Threaded agents
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. |