Conceptual
Login

Threads and Processes as Units of Concurrent Execution

An operating system runs work as processes, each with its own memory space, and as threads inside a process that share that memory. The OS scheduler preempts them, so a blocking call stalls only its own thread while others keep running, and only separate processes give a CPU-bound workload more than one core's worth of throughput. After learning this a student can say what a thread and a process each cost, why work handed to a thread pool keeps the calling thread free, and why CPU-bound work needs processes rather than threads.