A thread is a “lighter” form of a process. The advantage of a thread over a process is its lower resource consumption. For this reason, the use of threads instead of processes increases the performance. The disadvantage is that applications executed in a thread environment must be thread-safe. This means that:
Functions (or the methods in object-oriented applications) must be reentrant — a function with the same input always returns the same result, even if other threads concurrently execute the same function. Accordingly, functions must be programmed in such a way that they can be executed simultaneously by severals threads.
The access to resources (usually variables) must be arranged in such a way that concurrent threads do not conflict.
Apache 2 handles queries as separate processes or in a mixed mode combining processes and threads. The MPM prefork is responsible for the execution as process. The MPM worker prompts the execution as thread. Select the MPM to use during the installation (see Section 22.6. “Installation”). The third mode — perchild — is not yet fully mature and is therefore not available for installation in SUSE LINUX.