Операционные системы. Часть 1. Основы управления ресурсами. Рощин А.В. - 77 стр.

UptoLike

Составители: 

77
эффективно можно использовать многопоточность для выполнения
распределенных приложений, например, многопоточный сервер может
параллельно выполнять запросы сразу нескольких клиентов.
Использование потоков связано не только со стремлением повысить
производительность системы за счет параллельных вычислений, но и с целью
создания более читабельных, логичных программ. Введение нескольких
потоков выполнения упрощает программирование. Например, в задачах типа
«писатель-читатель» один поток выполняет запись в буфер, а другой
считывает записи из него. Поскольку они разделяют общий буфер, не стоит
их делать отдельными процессами. Другой пример использования потоков
управление сигналами, такими как прерывание с клавиатуры (del или
break). Вместо обработки сигнала прерывания один поток назначается для
постоянного ожидания поступления сигналов. Таким образом, использование
потоков может сократить необходимость в прерываниях пользовательского
уровня. В этих примерах не столь важно параллельное выполнение, сколь
важна ясность программы.
Наибольший эффект от введения многопоточной обработки
достигается в мультипроцессорных системах, в которых потоки, в том числе и
принадлежащие одному процессу, могут выполняться на разных процессорах
действительно параллельно (а не псевдопараллельно).
                                      77



эффективно    можно    использовать        многопоточность   для   выполнения
распределенных приложений, например, многопоточный сервер может
параллельно выполнять запросы сразу нескольких клиентов.
     Использование потоков связано не только со стремлением повысить
производительность системы за счет параллельных вычислений, но и с целью
создания более читабельных, логичных программ. Введение нескольких
потоков выполнения упрощает программирование. Например, в задачах типа
«писатель-читатель» один поток выполняет запись в буфер, а другой
считывает записи из него. Поскольку они разделяют общий буфер, не стоит
их делать отдельными процессами. Другой пример использования потоков –
управление сигналами, такими как прерывание с клавиатуры (del или
break). Вместо обработки сигнала прерывания один поток назначается для
постоянного ожидания поступления сигналов. Таким образом, использование
потоков может сократить необходимость в прерываниях пользовательского
уровня. В этих примерах не столь важно параллельное выполнение, сколь
важна ясность программы.
     Наибольший       эффект   от   введения      многопоточной     обработки
достигается в мультипроцессорных системах, в которых потоки, в том числе и
принадлежащие одному процессу, могут выполняться на разных процессорах
действительно параллельно (а не псевдопараллельно).