April 2002
Intermediate to advanced
1024 pages
23h 26m
English
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 ...