Составители:
На системном уровне каждый поток представляет собой объект, созданный сис-
темным менеджером объектов. Аналогично с остальными системными объектами, поток
содержит данные (атрибуты) и методы (функции). Схематически объект-поток может
быть представлен в следующем виде (рис.2.5.) [12]:
Стандартный объект заголовка
Атрибуты потока Методы потока
Идентификатор клиента Создание потока
Контекст Открытие потока
Динамический приоритет Запрос информации о потоке
Базовый приоритет Установка информации о потоке
Привязанность к архитектуре
процессора
Текущий поток
Завершение потока
Время выполнения Получение контекста
Статус оповещения Установление контекста
Счетчик прерываний Прерывание
Маркер передачи прав доступа Возобновление
Порт завершения Предупреждение
Код завершения Проверка поступления преду-
преждения
Регистрация порта завершения
Рис.2.5. Схема объекта потока.
Для большинства методов потока имеются соответствующие API - функции Win32.
Windows защищает свои внутренние структуры от прямого вмешательства пользова-
тельских программ. В отличии от более привилегированных программ, функционирую-
щих на уровне ядра операционной системы, пользовательские не могут прямо анализи-
ровать или изменять параметры системных объектов. Все операции с ними выполняются
посредством функций Win32 API. Windows предоставляет дескриптор, идентифици-
рующий объект. При выполнении операций с объектом его дескриптор передается в ка-
честве аргумента одной из API-функций. Свои дескрипторы имеют потоки, процессы,
семафоры, файлы и др. объекты. Внутренняя структура объектов доступна только ме-
неджеру объектов. Функция, создающая поток, возвращает дескриптор нового объекта.
С помощью этого дескриптора можно выполнить следующие операции:
• повысить или понизить плановый приоритет потока;
• приостановить поток и возобновить его выполнение;
• прекратить выполнение потока;
• определить код завершения потока.
В ОС Windows потоки, процессы, семафоры и исключающие семафоры могут
иметь несколько разных дескрипторов. Завершив работу с объектом, необходимо вы-
звать функцию CloseHandle, которая закрыв последний дескриптор, сама уничтожит
объект. В целом в Windows каждый процесс не может одновременно поддерживать бо-
лее 65536 открытых дескрипторов.
Работа с потоками не сводится только к их запуску и остановке. Необходимо обес-
печить совместное функционирование потоков. Для организации эффективного взаимо-
действия между несколькими потоками необходимо производить контроль за их вре-
менными параметрами. Контроль осуществляется [12]:
59
На системном уровне каждый поток представляет собой объект, созданный сис-
темным менеджером объектов. Аналогично с остальными системными объектами, поток
содержит данные (атрибуты) и методы (функции). Схематически объект-поток может
быть представлен в следующем виде (рис.2.5.) [12]:
Стандартный объект заголовка
Атрибуты потока Методы потока
Идентификатор клиента Создание потока
Контекст Открытие потока
Динамический приоритет Запрос информации о потоке
Базовый приоритет Установка информации о потоке
Привязанность к архитектуре Текущий поток
процессора Завершение потока
Время выполнения Получение контекста
Статус оповещения Установление контекста
Счетчик прерываний Прерывание
Маркер передачи прав доступа Возобновление
Порт завершения Предупреждение
Код завершения Проверка поступления преду-
преждения
Регистрация порта завершения
Рис.2.5. Схема объекта потока.
Для большинства методов потока имеются соответствующие API - функции Win32.
Windows защищает свои внутренние структуры от прямого вмешательства пользова-
тельских программ. В отличии от более привилегированных программ, функционирую-
щих на уровне ядра операционной системы, пользовательские не могут прямо анализи-
ровать или изменять параметры системных объектов. Все операции с ними выполняются
посредством функций Win32 API. Windows предоставляет дескриптор, идентифици-
рующий объект. При выполнении операций с объектом его дескриптор передается в ка-
честве аргумента одной из API-функций. Свои дескрипторы имеют потоки, процессы,
семафоры, файлы и др. объекты. Внутренняя структура объектов доступна только ме-
неджеру объектов. Функция, создающая поток, возвращает дескриптор нового объекта.
С помощью этого дескриптора можно выполнить следующие операции:
• повысить или понизить плановый приоритет потока;
• приостановить поток и возобновить его выполнение;
• прекратить выполнение потока;
• определить код завершения потока.
В ОС Windows потоки, процессы, семафоры и исключающие семафоры могут
иметь несколько разных дескрипторов. Завершив работу с объектом, необходимо вы-
звать функцию CloseHandle, которая закрыв последний дескриптор, сама уничтожит
объект. В целом в Windows каждый процесс не может одновременно поддерживать бо-
лее 65536 открытых дескрипторов.
Работа с потоками не сводится только к их запуску и остановке. Необходимо обес-
печить совместное функционирование потоков. Для организации эффективного взаимо-
действия между несколькими потоками необходимо производить контроль за их вре-
менными параметрами. Контроль осуществляется [12]:
59
Страницы
- « первая
- ‹ предыдущая
- …
- 55
- 56
- 57
- 58
- 59
- …
- следующая ›
- последняя »
