A program in execution is called a process. Modern operating systems, such as MS Windows and Unix, support multiple processes in memory. All these processes appear to be running at the "same time." This is known as concurrent execution of multiple processes.
There many applications that are required to handle multiple tasks. Within a program, each task is implemented as a thread. The program itself executes as a process. A thread is also known as a light-weight process. Figure 17.1 shows a process with three threads.
Figure 17.1: A process with three threads.