Multithreading & Parallelism Models

A multithreaded system is in essence a distributed system that runs on the same computer. The different threads are similar in nature to different processes that make up a distributed system. Many of the same principles apply, and many of the same techniques can be reused across both domains.