К Т П           План занятия                                                              1                                           Страницы  | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 | | 8 | | 9 |

1. Определение потока в Windows

Потоком в Windows называется объект ядра, которому операционная система выделяет процессорное время для выполнения приложения. Каждому потоку принадлежат следующие ресурсы:

  1. код исполняемой функции;
  2. набор регистров процессора;
  3. стек для работы приложения;
  4. стек для работы операционной системы;
  5. маркер доступа, который содержит информацию для системы безопасности.

Все эти ресурсы образуют контекст потока в Windows. Кроме дескриптора каждый поток в Windows также имеет свой идентификатор, который уникален для потоков выполняющихся в системе. Идентификаторы потоков используются служебными программами, которые позволяют пользователям системы отслеживать работу потоков.

В операционных системах Windows различаются потоки двух типов:

  1. системные потоки;
  2. пользовательские потоки.

Системные потоки выполняют различные сервисы операционной системы и запускаются ядром операционной системы.
Пользовательские потоки служат для решения задач пользователя и запускаются приложением. На рис. 2.6 показана диаграмма состояний потока, работающего в среде операционной системе Windows 2000.
В работающем приложении различаются потоки двух типов:

  1. рабочие потоки (working threads);
  2. потоки интерфейса пользователя (user interface threads).

 

Рис. 2. Модель потока в Windows 2000

Рабочие потоки выполняют различные фоновые задачи в приложении. Потоки интерфейса пользователя связаны с окнами и выполняют обработку сообщений, поступающих этим окнам. Каждое приложение имеет, по крайней мере, один поток, который называется первичным (primary) или главным (main) потоком. В консольных приложениях это поток, который исполняет функцию main. В приложениях с графическим интерфейсом это поток, который исполняет функцию WinMain.


Предыдущая        В начало страницы       Следующая
1