Описать различные модели многопоточности?

1 Ответы


  • Ниже перечислены различные модели многопоточности.
    Модель «
    многие к одному» В модели «многие к одному» многие ступени пользовательского уровня отображаются в один поток ядра. Это эффективно, поскольку реализуется в пользовательском пространстве. Процесс, использующий эту модель, будет быть полностью заблокированным, если поток выполняет системный вызов блокировки. Только один поток может получить доступ к ядру одновременно, поэтому его нельзя запускать параллельно на многопроцессорном компьютере.
    Модель "один к одному"
    Рисунок: Модель " один к одному"

    В этой модели каждый пользовательский поток отображается в поток ядра. Он обеспечивает больший параллелизм, поскольку позволяет другому потоку выполняться, когда поток выполняет блокирующий системный вызов. Это облегчает параллелизм в мультипроцессоре. Каждому пользовательскому потоку требуется поток ядра, что может повлиять на производительность системы. Создание потоков в этой модели ограничено определенным количеством. Эта модель используется в Windows NT, Windows 2000 и OS / 2.

    Модель "человек ко многим"
    Эта модель мультиплексирует множество потоков пользовательского уровня в меньшее или равное количество потоков ядра. Количество потоков ядра может быть определено либо для конкретного приложения, либо для конкретной машины. Пользователь может создать любое количество пользовательских потоков, и соответствующие потоки ядра могут работать параллельно на многопроцессорном компьютере. Когда поток выполняет системный вызов блокировки, ядро ​​может выполнить другой поток. Он используется Solaris 2, IRIX и Tru64.

Напишите свой ответ

Ваш ответ появится после модерации