планирование потоков процесса - PullRequest
1 голос
/ 08 апреля 2010

У меня есть следующий запрос относительно планирования потоков процесса. a) Если мой процесс A имеет 3 потока, можно ли одновременно планировать эти потоки на разных процессорах в SMP m / c, или им будет предоставлен интервал времени на том же процессоре.

b) Предположим, у меня есть два процесса A с 3 потоками и Процесс B с 2 потоками (все потоки имеют одинаковый приоритет), тогда время процессора, выделенное для каждого потока (временной интервал), зависит от количества потоков в процессе или не? Поправьте меня, если я не прав, так ли это, что процессорное время выделяется процессу, который затем распределяется между его потоками, то есть временной интервал, предоставляемый процессам А, меньше, чем у потоков процесса В.

1 Ответ

3 голосов
/ 08 апреля 2010

Это зависит от вашей ОС и реализации потока.Потоки POSIX определяют интерфейс для определения того, как запланированы потоки: запланирован ли каждый поток одинаково или каждый процесс запланирован одинаково.Не все типы планирования поддерживаются на всех платформах.

В Linux при использовании nptl поведение по умолчанию - одинаковое планирование всех потоков, поэтому процесс с 10 потоками может получить в 10 раз больше времени, чем процесс споток, если все одиннадцать потоков связаны с процессором.

...