Threads and processes
A thread is a separate container that holds one running copy of the engine. Any number of threads can be active simultaneously. The number of active threads is only limited by the amount of available RAM.
A group of threads that work together make up a process:
- One command thread manages the overall operation of the process. It controls all other threads within a process.
- One translation thread controls message translation. There is only one translation thread per process. This thread transforms messages from the format of the sending system to the format of the receiving system.
- The protocol thread manages protocol connections to remote systems. One or more protocol threads receive messages from an inbound host connection and pass them to the translation thread. They can also receive messages from the translation thread and pass them to an outbound host connection. The same protocol thread can perform both operations.
- A connection is the interface between an external system and a protocol thread. Because there is a thread associated with every connection, the two terms are sometimes used interchangeably.
The only threads that you can directly control are the protocol threads. You can start and stop individual protocol threads, and all the threads that make up a process. Threads can be defined for a whole site, or in a predefined or ad hoc group.