A thread is the smallest unit of processing that an OS can perform. The default size of a thread in a Linux/x86-32 machine is 2MB
- Concurrent - Two or more threads can start, run and complete in overlapping periods.
- Parallel - The same task can be executed multiple times at once.