Concurrency
An Application Arbortext PE does not need to be thread-safe. An Sous-processus Arbortext PE only handles one request at a time; therefore, it can only run one Application Arbortext PE at a time. However, an Application Arbortext PE does need to be safe for multi-processing, because the Arbortext PE Request Manager could ask two or more Sous-processus Arbortext PE to run the same Application Arbortext PE at the same time.
For example, if an Application Arbortext PE attempts to write temporary data using an absolute path and file name (e:\tempdata\tempdatafile.txt), two instances of the Application Arbortext PE might run at the same time and overwrite each other’s file. If an Application Arbortext PE stores data to the Windows clipboard, two instances of the operation might run simultaneously and interfere with each other.
Every Application Arbortext PE needs to be serially reusable. An Application Arbortext PE should not attempt to maintain any state from one call to the next. The Arbortext PE Request Manager could ask a particular Sous-processus Arbortext PE to execute any Application Arbortext PE repeatedly, so the Application Arbortext PE must not assume any prior state each time it is invoked. If a particular client submits several Application Arbortext PE requests to an Serveur Arbortext PE, the Arbortext PE Request Manager might allocate a different Sous-processus Arbortext PE to serve each request. If the second request expects to find information left behind by the first request (for example, a value stored in a global variable), the application would only work if the Arbortext PE Request Manager happened to allocate the same Sous-processus Arbortext PE to serve both requests.
Parent topic