ВУЗ:
Составители:
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
- …
- следующая ›
- последняя »
