The activity level of a memory pool is the number of threads that can actively use the CPU at the same time in a memory pool. This allows for efficient use of system resources. The system manages the control of the activity level.
Often during processing in a thread, a program waits for a system resource or a response from a workstation user. During such waits, a thread gives up its use of the memory pool activity level so that another thread that is ready to be processed can take its place.
When more threads are started than can run at the same time the excess threads must wait to use the processing unit (normally this wait is short). The memory pool activity level lets you limit the amount of main memory contention in the various memory pools in your subsystems.
The number of threads running (or active threads) refers to the number of threads that are eligible to compete for the processor and that count against the activity level for a memory pool. In this sense, active threads do not include threads that are waiting for input, for a message, for a device to be allocated, or for a file to be opened. Active threads do not include threads that are ineligible (threads that are ready to run but the memory pool activity level is at its maximum).
More than one thread can be active at the same time in a memory pool because the processing for a thread can be briefly interrupted while needed data is retrieved from auxiliary storage. During this delay, which is typically short, another thread can run. Using the activity level, the machine can process a large number of threads in a memory pool and at the same time hold the level of contention to the limit that you specify.