ВУЗ:
Составители:
74
«освободить mutex и ожидать условную переменную атомарно». Активно
используются в UNIX-подобных ОС. Дискуссии о преимуществах и недос-
татках событий и условных переменных являются заметной частью дискус-
сий о преимуществах и недостатках Windows и UNIX.
Порт завершения ввода-вывода (IO completion port, IOCP). Реализо-
ванный в ядре ОС и доступный через системные вызовы объект «очередь» с
операциями «поместить
структуру в хвост очереди» и «взять следующую
структуру с головы очереди» – последний вызов приостанавливает исполне-
ние потока в случае, если очередь пуста, и до тех пор, пока другой поток не
осуществит вызов «поместить». Главнейшей особенностью IOCP является то,
что структуры в него могут помещаться не только явным системным вызо-
вом из режима
пользователя, но и неявно внутри ядра ОС как результат за-
вершения асинхронной операции ввода-вывода на одной из дескрипторов
файлов. Для достижения такого эффекта необходимо использовать систем-
ный вызов «связать дескриптор файла с IOCP». В этом случае помещенная в
очередь структура содержит в себе код ошибки операции ввода-вывода, а
также,
для случая успеха этой операции – число реально введенных или вы-
веденных байт. Реализация порта завершения также ограничивает число по-
токов, исполняющихся на одном процессоре/ядре после получения структу-
ры из очереди. Объект специфичен для MS Windows и позволяет осуществ-
лять обработку входящих запросов соединения и порций данных в серверном
программном обеспечении в архитектуре
, где число потоков может быть
меньше числа клиентов (нет требования создавать отдельный поток с расхо-
дами ресурсов на него для каждого нового клиента).
Пр имер работы с TThread в Turbo Explorer:
файл unit1.pas
unit Unit1;
Страницы
- « первая
- ‹ предыдущая
- …
- 72
- 73
- 74
- 75
- 76
- …
- следующая ›
- последняя »