Архитектура Microsoft Windows для разработчиков


Процессы и потоки


Приложение, разработанное для Windows, состоит из одного или более процессов (рис. 1.3). Процесс — это, попросту говоря, выполняемая программа. Ему принадлежат адресное пространство и выделенные ресурсы, а также один или более потоков, выполняющихся в его контексте.

Поток — это основная единица, которой операционная система выделяет процессорное время, и минимальный «квант» кода, который может быть запланирован для выполнения. Кроме того, это часть процесса, выполняющаяся в каждый момент времени. Поток работает в адресном пространстве процесса и использует ресурсы, выделенные процессу.

1-6.jpg

Рис. 1.3 Приоритеты потоков

Любой процесс содержит хотя бы один поток. Каждый процесс 16-разрядного Windows-приложения или программы MS-DOS имеет только один поток, тогда как процессы 32-разрядных Windows-приложений могут включать их несколько.

Примечание Ресурсами владеют процессы, а не потоки — последние только используют ресурсы, выделенные процессу. Например, если программа запросит порт, им будет управлять процесс. Любой поток процесса может обратиться к порту, но ни один из них не вправе самостоятельно запросить использование порта.

> Изучение работы потоков

  1. Завершите все работающие программы.
  2. В меню Start выберите пункты Programs, Accessories, System Tools, System Monitor.

    Будет запущен System Monitor.

  3. В меню Edit щелкните команду Remove Item.
  4. Выделите все ранее добавленные элементы и щелкните ОК.

    График очистится.

  5. В меню View щелкните Numeric Charts.
  6. В меню Edit щелкните Add Item.
  7. Из списка Category выберите пункт Kernel, из списка Item выберите пункт Threads, а затем щелкните кнопку ОК.

    Сколько потоков активно?

    ответ

  8. В меню Start выберите пункты Programs, Accessories, WordPad.
  9. Переключитесь на System Monitor.

    Сколько потоков активно?

    ответ

  10. На панели инструментов WordPad щелкните кнопку Open.
  11. Переключитесь в окно System Monitor и несколько секунд понаблюдайте за окном KerneL:Threads.

    Сколько потоков активно?

    ответ

  12. Закройте диалоговое окно Open приложения WordPad и завершите работу с ним.



  13. - Начало -  - Назад -  - Вперед -



    Книжный магазин