n Simultaneous scheduling of threads that
make up a single process
n Useful for applications where performance
severely degrades when any part of the
application is not running
n Threads often need to synchronize with
each other