Introduction
What is a Thread
A single flow of control with a process ...
Why use Threads
- Exploit Latency
- Exploit Concurrency
- Parallel Processing
- Distributed Processing
- Eamples: Fractal Calculator, Ray tracer
- Event Driven Software
- Waiting on events (HTTPD, News Servers, Mail Servers)
- Interactive (Real time games: Netrek)
- Anything that uses select()
Types of Threads
- User threads
- Kernel Threads
- Not to be confused with a threaded kernel.
- clone on Linux
- rfork on Plan9
- sproc on IRIX
- Hybrid Threads
- Solaris LWP and threads.
- WinNT threads and fibers.
Prepared by
Chris Provenzano (proven@mit.edu)