A multithreaded model provides threads that are used for
handling network connections. Threads are also assigned to the requests
made by remote clients and the replies received from CICS®.
The threading model uses the following objects:
Connection manager threads. These threads manage the connections
from a particular remote Client. When it receives a request, it allocates
a worker thread from a pool of available worker threads to run the
request.
Worker threads. These threads are allocated to run requests from
remote Clients. When a worker thread finishes processing it returns
to the pool of available worker threads.
You can set both the initial and maximum sizes of the resource
pools for these objects; see Gateway daemon resources for
information on setting configuration parameters.
You can also specify these limits when you start CICS Transaction Gateway. For more
information see Starting from a command line.
Consider these
thread limits when setting the number of connection manager and worker
threads:
System-wide limit of the maximum
number of threads
Process limit of the number of
threads
This might be restricted by the total number
of MVS Task
Control Blocks (one is created for each UNIX System Services thread.)
This limit is governed by the UNIX System Services parameters
MAXTHREADS and MAXTHREADTASKS.
The total number of threads in use by the Gateway daemon can be displayed using
the MVS system command
/D OMVS,L,PID=nnnn
where nnnn is the
process ID of the JVM running the Gateway daemon, as displayed using the SDSF PS
menu option. You can also determine what values are set for the UNIX System Services parameters
MAXTHREADS and MAXTHREADSTASK by examining the appropriate
BPXPRMxx member of SYS1.PARMLIB. For more information
about these parameters, see the IBM® z/OS® UNIX
System Services Planning.
The threading model is illustrated in the following figure: Figure 1. CICS Transaction Gateway Threading
model for TCP/IP and SSL protocols using a persistent socket