Азбука программирования в Win32 API

ремонт стиральной машины на дому Москва на сайте

Азбука программирования в Win32 API - стр. 181


Рассуждаем дальше. Раз программа получает управление на время, то почему бы этой программе не распараллелить свою работу и не запустить несколько одновременно выполняющихся программ под своим управле­нием? В WTin32 эти программы называются потоками.

Таким образом, в системе Windows реализованы два типа многоза­дачности - процессная и потоковая. Рассмотрим оба типа многоза­дачности, после чего отдельно остановимся на вопросе синхронизации работы в многозадачной среде.

Остановимся на одной детали. Оттого, что мы назвали Windows мно­гозадачной системой, физический смысл этой многозадачности не изме­нился. На однопроцессорном компьютере в каждый конкретный момент выполняется одна задача. Если при запуске двух-трех маленьких про­грамм временная задержка субъективно не заметна, то при запуске не­скольких программ, требующих колоссальных ресурсов (к примеру, WinWord или Borland C++ 5.0), задержка при выполнении программ становится достаточно заметной. На многопроцессорных системах за каждым процессором может быть закреплен свой ноток, поэтому на таких системах выполнение программ осуществляется действительно в многозадачном режиме.

218

ЗАПУСК ПРОЦЕССА

Давайте, уважаемый читатель, все же более точно определим, что есть процесс. В Windows 3.x, да иногда и в Win32 процесс определяют как копию (экземпляр) выполняющейся программы. Так оно и есть, но при этом забывают, что копия - понятие статическое. Другими словами, процесс в Win32 - это объект, который не выполняется, а просто «владеет» выделенным ей адресным пространством, другими словами, процесс является структурой в памяти. А вот в адресном пространстве процесса находятся не только код и данные, но и потоки - выполняющие­ся объекты. При запуске процесса автоматически запускается поток (он называется главным). При остановке главного потока автоматически останавливается и процесс. А так как процесс без потока просто бесцель­но занимает ресурсы, то система автоматически уничтожает ставший ненужным процесс. Первичный процесс создается системой при запуске, точно так же при создании первичного процесса в нем создается и поток.




Начало  Назад  Вперед



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