Threads are one of several technologies that make it possible to execute multiple code paths concurrently inside a single application. Although newer technologies such as operation objects and Grand Central Dispatch (GCD) provide a more modern and efficient infrastructure for implementing concurrency, OS X and iOS also provide interfaces for creating and managing threads.

This document provides an introduction to the thread packages available in OS X and shows you how to use them. This document also describes the relevant technologies provided to support threading and the synchronization of multithreaded code inside your application.

Organization of This Document

This document has the following chapters and appendixes:

See Also

For information about the alternatives to threads, see Concurrency Programming Guide.

This document provides only a light coverage of the use of the POSIX threads API. For more information about the available POSIX thread routines, see the pthread man page. For a more in-depth explanation of POSIX threads and their usage, see Programming with POSIX Threads by David R. Butenhof.