Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Составные элементы процессов и потоковСодержание книги Поиск на нашем сайте
К элементам процесса принадлежат: ♦ защищенное адресное пространство; ♦ данные, общие для всего процесса (эти данные могут совместно использовать все его потоки); ♦ информация об использовании ресурсов (открытые файлы, сетевые соединения и т.п.); ♦ информация о потоках процесса. Поток содержит такие элементы: ♦ состояние процессора (набор текущих данных из его регистров), в частности счетчик текущей инструкции процессора; ♦ стек потока (участок памяти, где находятся адреса возвращения функций потока, которые вызваны в его коде). Многопотоковость и ее реализация Понятие параллелизма Использование нескольких потоков в приложении означает внесение у него параллелизма. Параллелизм - это одновременное (с точки зрения прикладного программиста) выполнение действий разными фрагментами кода приложения. Такая одновременность может быть реализована на одном процессоре путем переключения задач (случай псевдопаралелизма), а может основываться на параллельном выполнении кода на нескольких процессорах (случай настоящего параллелизма). Потоки абстрагируют это отличие, давая возможность разрабатывать приложение, которые в однопроцесорних системах используют псевдопаралелизм, а при нескольких процессоров -настоящий параллелизм (такие приложения масштабируются с увеличением количества процессоров). Виды параллелизма ♦ Можно выделить такие основные виды параллелизма: ♦ параллелизм многопроцесорних систем; ♦ параллелизм операций ввода-вывода; ♦ параллелизм взаимодействия с пользователем; ♦ параллелизм распределенных систем. Параллелизм операций ввода-вывода Во время выполнения операции ввода-вывода (например, обмена данными с диском) низкоуровневый код доступа к диску и код приложения не могут выполняться одновременно. В этом случае приложению надо подождать завершение операции ввода-вывода, освободив на это время процессор. Естественным считается занять на это время процессор инструкциями другой задачи. Многопотоковые приложение может реализовать этот вид параллелизма через создание новых потоков, которые будут выполняться, когда текущий поток ожидает операции вывода. Так реализуется асинхронный ввод-вывод, когда приложение продолжает свое выполнение, не ожидая завершения операций ввода-вывода. Параллелизм взаимодействия с пользователем Во время интерактивного сеанса работы пользователь может выполнять разные действия с приложением (и ожидать немедленной реакции на них) к завершению обработки предыдущих действий. Например, после запуска команды «печатание документа» он может немедленно продолжить введение текста, не ждя завершение печатания. Чтобы решить эту задачу, можно выделить отдельные потоки для непосредственного взаимодействия с пользователем (например, один поток может ожидать ввода c клавиатуры, другой - от мыши, дополнительные потоки - отображать интерфейс пользователя). Основные задачи приложения (расчеты, взаимодействие с базой данных и т.д.) в это время будут выполнять другие потоки. Параллелизм распределенных применений Рассмотрим серверное приложение, которое ожидает запросы от клиентов и выполняет действие в ответ на запрос. Если клиентов много, запросы могут поступать часто, почти вместе. Если продолжительность обработки запроса превышает интервал между запросами, сервер будет вынужден помещать запросы в очередь, вследствие чего снижается производительность. При этом использование потоков дает возможность организовать параллельное обслуживание запросов, когда основной поток принимает запросы, сразу передает их для выполнения другим потокам и ожидает новых.
|
||||
Последнее изменение этой страницы: 2017-01-19; просмотров: 171; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 52.15.217.86 (0.008 с.) |