A basic unit of CPU utilization comprising of a Thread ID, Program counter (PC), Register set and Stack
Threads
Threads share with other threads belonging to the same process its code section, data section, and other operating-system resources, such as open files and signals
Single-threaded process
A traditional process has a single thread of control
Multi-threaded process
If a process has multiple threads of control, it can perform more than one task at a time
Applications using threads
Application that creates photo thumbnails from a collection of images
Web browser
Word processor
User Level Threads (ULTs)
Threads that are created and managed by a user-level library or runtime environment, rather than by the operating system
Kernel threads
Threads that are supported and managed directly by the operating system
User Level Threads
POSIX threads (pthreads)
Java threads
Python threads
Ruby threads
Kernel Threads
Linux kernel threads (kthread, keventd, ksoftirqd, kworker)
Windows kernel threads (System threads, Driver threads, System service threads)