URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 4595
[ Назад ]

Исходное сообщение
"Pthread и многопроцессорная система"

Отправлено andrewi , 28-Авг-05 03:14 
Подскажите, пожалуйста, где можно почитать о работе нитей (pthread) на многопроцессорных системах работающих под разные ОС (Linux, FreeBSD, Solaris).
Главный вопрос который интересует, будут ли две нити работать на двух разных процессорах параллельно?

Содержание

Сообщения в этом обсуждении
"Pthread и многопроцессорная система"
Отправлено DeadMustdie , 28-Авг-05 09:46 
Единой точки "почитать" про все системы сразу я ингде не встречал.
Собственно, под Linux всё зависит от используемой библиотеки pthreads
(на наиболее распространённой ныне NPTL - будет использоваться несколько
процессоров), под BSD ситуация (как я слышал) аналогичная. В Solaris
никогда в системе не было штатной библиотеки pthreads с кооперативным
планированием исполнения потоков - то при отсутствии блокировок и
наличии двух процессоров две "нити" практически наверняка будут работать
на разных процессорах, независимо от версии системы.

"Pthread и многопроцессорная система"
Отправлено chip , 31-Авг-05 08:29 
>под BSD ситуация (как я слышал) аналогичная.

Уточню этот момент.
При использовании libpthread, libthr обе доступны для FreeBSD >= 5.0 - будут задействованы оба процессора. При использовании устаревшей libc_r (наследие 4.x) - не будут. В ней реализованы user-space потоки.