В однопроцессорной системе нити обрабатываются поочередно: каждой из них выделяется квант времени. В многопроцессорных системах несколько нитей обрабатываются одновременно - каждый процессор обрабатывает отдельную нить. Обработка разных нитей процесса на разных процессорах позволяет повысить производительность. Однако преимущества многопроцессорных систем проявляются только в случае программ с несколькими нитями.
Для большинства пользователей применение нескольких процессоров незаметно, так как его детали полностью скрыты в операционной системе и выполняемых в ней программах. Пользователь может привязать свои процессы к процессорам (принудительно обрабатывать их на определенном процессоре), однако это не обязательно, и делать это не рекомендуется. Даже для большинства разработчиков преимущества многопроцессорных систем сводятся к возможности разбиения процесса на несколько нитей. С другой стороны, разработчики компонентов ядра вынуждены учитывать некоторые особенности многопроцессорных систем при создании программ и переносе готовых программ в такие системы. Эти варианты подробно рассматриваются ниже.
В разделе Глава 9, Параллельное программирование рассматриваются общие вопросы, связанные с нитями.
В разделе Глава 11, Создание программ с нитями приведены подробные сведения о применении библиотеки нитей (libpthreads.a ) в программах.