Multithreading: Pros and Cons
Multithreaded structure has many advantages...
Express different activities cleanly as independent thread bodies, with appropriate priorities.
Activities succeed or fail independently.
It is easy to wait/sleep without affecting other activities: e.g., I/O operations may be blocking.
Extends easily to multiprocessors.
...but it also has some disadvantages.
Requires support for threads or processes.
Requires more careful synchronization.
Imposes context-switching overhead.
May consume lots of space for stacks of blocked threads.