10.2.1.1 What Is Multithreading?
Multithreading is the inclusion of more than one unit of execution in a single process. In a multithreaded application, multiple simultaneous calls can be made from the same process. For example, an individual process is not limited to one outstanding tpcall().
In a server, multithreading requires multicontexting except when application-created threads are used in a singled-context server. The only way to create a multithreaded, single-context application is to use application-created threads.
The Oracle Tuxedo system supports multithreaded applications written in C. It does not support multithreaded COBOL applications.
The following figure shows how a multithreaded client can issue calls to three servers simultaneously.
Figure 10-1 Sample Multithreaded Process

In a multithreaded application, multiple service-dispatched threads are available in the same server, which means that fewer servers need to be started for that application.
The following figure shows how a server process can dispatch multiple threads to different clients simultaneously.
Figure 10-2 Multiple Service Threads Dispatched in One Server Process

Parent topic: What Are Multithreading and Multicontexting?