Chapter 11. Threading

In This Chapter

Threads grew out of the need to do, or appear to do, many things at the same time. Before threads, the finest granularity at which the OS could schedule was at the process level. Programmers worried about spawning processes and tweaking the priority of processes. Starting up a process incurred much overhead, it was heavy, and communicating between processes was inefficient.

On the Unix platform, fork() and exec() allowed the programmer to split the execution path of a program into two pieces without much of the overhead of starting a new process. Probably most importantly, fork() and exec() allowed a programmer to easily ...

Get .NET Common Language Runtime Unleashed now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.