Разработка прикладных программ для ОС WINDOWS с помощью интегрированных сред Delphi / C++Builder. Баканов В.М. - 10 стр.

UptoLike

Составители: 

- 10 -
уничтожаются) быстрее процессов (поэтому их иногда называютдегковес-
ными процессами’). В связи с использованием всеми потоками данного про-
цесса общей памяти (конечно, за исключением индивидуальных стеков и со-
держимого регистров) обмен данными между ними предельно прост; по этой
же причине создание использующего многопоточность приложения требует
особой тщательности вследствие возможности случайногопересечения
по
адресному пространству и/или нарушения последовательности операций
(например, чтения/записи). ИС Delphi и C++Builder предоставляют роди-
тельский класс (в смысле ООП) TThread для реализации потоков [10].
Операционная система с симметричной мультипроцессорной обработкой
(symmetric multiprocessing, SMP); такая как WINDOWS’NT, может выпол-
нять на любом процессоре как код пользователя, так и код собственно ОС;
при превышении числом потоков числа процессоров поддерживается много-
задачность путем разделения времени каждого процессора между всеми ожи-
дающими потоками.
Разработчики WINDOWS’NT ввели понятие волокон (fibers); волокном
называется небольшой (‘облегченный’) поток, планировку которого осуще-
ствляет приложение.
2.1. WINDOWS - ОПЕРАЦИОННАЯ СИСТЕМА,
УПРАВЛЯЕМАЯ СОБЫТИЯМИ
WINDOWS генерирует сообщение, когда происходит какое-либо событие
или
должно быть выполнено действие. Например, при перемещении 'мыши'
(а это типичное событие) генерируется сообщение, указывающее (в числе
других параметров) координаты точки, в которой находится курсор. Таким
же образом сама ОС WINDOWS информирует прикладную программу о том,
что в меню был выбран определенный пункт (например, 'Прекратить
выполнение').
2.2. ПОНЯТИЕ О СООБЩЕНИЯХ WINDOWS И
ИХ ОБРАБОТКЕ
Все сообщения в WINDOWS строятся в соответствии со строго опреде-
ленным и компактным форматом. Любители C++ могут заглянуть в файл
WINDOWS.H и проанализировать структуру сообщений MSG
/* структура сообщения WINDOWS */
typedef struct tag MSG
{
HWND hwnd;
WORD message;
WORD wParam;
LONG IParam;
                                    - 10 -


уничтожаются) быстрее процессов (поэтому их иногда называют ‘дегковес-
ными процессами’). В связи с использованием всеми потоками данного про-
цесса общей памяти (конечно, за исключением индивидуальных стеков и со-
держимого регистров) обмен данными между ними предельно прост; по этой
же причине создание использующего многопоточность приложения требует
особой тщательности вследствие возможности случайного ‘пересечения’ по
адресному пространству и/или нарушения последовательности операций
(например, чтения/записи). ИС Delphi и C++Builder предоставляют роди-
тельский класс (в смысле ООП) TThread для реализации потоков [10].
   Операционная система с симметричной мультипроцессорной обработкой
(symmetric multiprocessing, SMP); такая как WINDOWS’NT, может выпол-
нять на любом процессоре как код пользователя, так и код собственно ОС;
при превышении числом потоков числа процессоров поддерживается много-
задачность путем разделения времени каждого процессора между всеми ожи-
дающими потоками.
   Разработчики WINDOWS’NT ввели понятие волокон (fibers); волокном
называется небольшой (‘облегченный’) поток, планировку которого осуще-
ствляет приложение.

2.1. WINDOWS - ОПЕРАЦИОННАЯ СИСТЕМА,
    УПРАВЛЯЕМАЯ СОБЫТИЯМИ

   WINDOWS генерирует сообщение, когда происходит какое-либо событие
или должно быть выполнено действие. Например, при перемещении 'мыши'
(а это типичное событие) генерируется сообщение, указывающее (в числе
других параметров) координаты точки, в которой находится курсор. Таким
же образом сама ОС WINDOWS информирует прикладную программу о том,
что в меню был выбран определенный пункт (например, 'Прекратить
выполнение').

2.2. ПОНЯТИЕ О СООБЩЕНИЯХ WINDOWS И ИХ ОБРАБОТКЕ

   Все сообщения в WINDOWS строятся в соответствии со строго опреде-
ленным и компактным форматом. Любители C++ могут заглянуть в файл
WINDOWS.H и проанализировать структуру сообщений MSG

/* структура сообщения WINDOWS */
typedef struct tag MSG
{
   HWND hwnd;
   WORD message;
   WORD wParam;
   LONG IParam;