Threads
why?
- multi-task computation, sometimes simulated
- allows use of more than one processor
- allows interleaving computation with blocked I/O
- write code that blocks is simpler, and usually more efficient, then spinning in a loop
some issues
- preemption, time-slicing
- priority
- blocking
- deadlock
- mutual exclusion
- performace