Benefits
- Responsiveness --continued execution if part is blocked
- Resource Sharing -- threads shares, easier than share memory or message passing
- Economy --cheaper than process creation, thread switching lower overhead than context switching
- Scalability
- User treads -- managed by user-level threads library
- Kernel threads -- supported by kernel
Model
- Many-to-One
- One-to-One
- Many-to-Many
- to-level model