A thread is the smallest entity of execution within a program.

Within a process, there may be one or more threads, each with the following:

  • A thread execution state (Running, Ready, etc.)
  • A saved thread context when not running; one way to view a thread is as an independent program counter operating within a process
  • An execution stack
  • Some per-thread static storage for local variables
  • Access to the memory and resources of its process, shared with all other threads in that process

Source: William Stallings, Operating Systems: INTERNALS AND DESIGN PRINCIPLES

history | excerpt history