Software models
This section describes the different software models.
All these models lead to modular programs. Models may also be combined to efficiently solve complex tasks.
These models can apply to either traditional multi-process solutions, or to single process multi-thread solutions, on multithreaded systems. In the following descriptions, the word entity refers to either a single-threaded process or to a single thread in a multithreaded process.
The following common software models can easily be implemented with threads: