Thread requirements
Independent PC working within the same process.
Per-thread static storage for local variables.
Access to memory and resources of the creator-process shared with all other threads in the task.
Key benefits: less time to create than creating a new process, less time to switch, less time to terminate, more intuitive for implementing concurrency if the application is a collection of execution units.