Процессы и потоки
Приложение, разработанное для Windows, состоит из одного или более процессов (рис. 1.3). Процесс — это, попросту говоря, выполняемая программа. Ему принадлежат адресное пространство и выделенные ресурсы, а также один или более потоков, выполняющихся в его контексте.
Поток — это основная единица, которой операционная система выделяет процессорное время, и минимальный «квант» кода, который может быть запланирован для выполнения. Кроме того, это часть процесса, выполняющаяся в каждый момент времени. Поток работает в адресном пространстве процесса и использует ресурсы, выделенные процессу.
Рис. 1.3 Приоритеты потоков
Любой процесс содержит хотя бы один поток. Каждый процесс 16-разрядного Windows-приложения или программы MS-DOS имеет только один поток, тогда как процессы 32-разрядных Windows-приложений могут включать их несколько.
Примечание Ресурсами владеют процессы, а не потоки — последние только используют ресурсы, выделенные процессу. Например, если программа запросит порт, им будет управлять процесс. Любой поток процесса может обратиться к порту, но ни один из них не вправе самостоятельно запросить использование порта.
> Изучение работы потоков
- Завершите все работающие программы.
- В меню Start выберите пункты Programs, Accessories, System Tools, System Monitor.
Будет запущен System Monitor.
- В меню Edit щелкните команду Remove Item.
- Выделите все ранее добавленные элементы и щелкните ОК.
График очистится.
- В меню View щелкните Numeric Charts.
- В меню Edit щелкните Add Item.
- Из списка Category выберите пункт Kernel, из списка Item выберите пункт Threads, а затем щелкните кнопку ОК.
Сколько потоков активно?
ответ
- В меню Start выберите пункты Programs, Accessories, WordPad.
- Переключитесь на System Monitor.
Сколько потоков активно?
ответ
- На панели инструментов WordPad щелкните кнопку Open.
- Переключитесь в окно System Monitor и несколько секунд понаблюдайте за окном KerneL:Threads.
Сколько потоков активно?
ответ
- Закройте диалоговое окно Open приложения WordPad и завершите работу с ним.
- Переключитесь в окно System Monitor.
Число потоков должно стать равным первоначальному значению.
- В меню Start выберите Programs, MS-DOS Prompt.
- Переключитесь в окно System Monitor.
Сколько потоков активно?
ответ
Почему окно MS-DOS породило два потока?
> Изучение работы многопоточного приложения
- Из папки WA\Practice\Ch01 запустите демонстрационную многопоточную про грамму Winbezmt.exe.
- Переключитесь в окно System Monitor.
Сколько потоков активно?
ответ
- Переключитесь на многопоточную демонстрационную программу.
- В меню Bezier выберите Add Thread (или нажмите клавиши CTRL+T).
- Переключитесь в окно System Monitor.
Сколько потоков активно?
ответ
- Добавьте еще два потока. Сколько теперь активных потоков?
- Завершите работу со всеми программами, включая System Monitor.