13

Я знаю, что такое поток, и я знаю, как они работают, но я совершенно не понимаю, что такое пользовательский поток и поток ядра с точки зрения того, что им разрешено делать.

Не могли бы вы уточнить, что может делать пользовательский поток и что может делать поток ядра?

1 ответ1

13

Поток ядра, иногда называемый LWP (облегченный процесс), создается и распределяется ядром. Потоки ядра часто дороже создавать, чем пользовательские потоки, а системные вызовы для непосредственного создания потоков ядра зависят от платформы.

Пользовательский поток обычно создается библиотекой потоков, а планирование управляется самой библиотекой потоков (которая работает в пользовательском режиме). Все пользовательские потоки принадлежат процессу, который их создал. Преимущество пользовательских потоков в том, что они переносимы. Основное различие можно увидеть при использовании многопроцессорных систем: пользовательские потоки, полностью управляемые библиотекой потоков, не могут работать параллельно на разных процессорах, хотя это означает, что они будут нормально работать в однопроцессорных системах. Поскольку потоки ядра используют планировщик ядра, разные потоки ядра могут работать на разных процессорах. Многие системы реализуют потоки по-разному,

Модель многопотоковых потоков отображает множество пользовательских процессов непосредственно в один поток ядра, который можно рассматривать как основной процесс. Модель потоков «один к одному» отображает каждый пользовательский поток непосредственно в один поток ядра, эта модель позволяет выполнять параллельную обработку в многопроцессорных системах. Каждый поток ядра может рассматриваться как виртуальный процесс, управляемый планировщиком.

Источник:Ответы

Также вы можете найти информацию в википедии, глава 3 - 3 Процессы, потоки ядра, пользовательские потоки и волокна:

Нить

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .