Помощь в учёбе, очень быстро...
Работаем вместе до победы

Структура CONTEXT. 
Управление потоками в WINDOWS

РефератПомощь в написанииУзнать стоимостьмоей работы

Для создания потока используется функция CreateThread. В программе поток 1 создается следующим образом: У каждого потока собственный набор регистров процессора, называемый контекстом потока. В программе (результатах) это выглядит так: HThread1 = CreateThread (NULL, 0, First_Thread, hDlg, CREATE_SUSPENDED, &Id1); Рисунок 2 — Контекст первого потока. BOOL GetThreadContext (HANDLE hThread, PCONTEXT… Читать ещё >

Структура CONTEXT. Управление потоками в WINDOWS (реферат, курсовая, диплом, контрольная)

У каждого потока собственный набор регистров процессора, называемый контекстом потока.

Эта структура с именем CONTEXT отражает состояние регистров процессора на момент последнего исполнения потока. Когда потоку выделяется процессорное время, система инициализирует регистры процессора содержимым контекста и, разумеется, регистр — указатель команд идентифицирует адрес следующей машинной команды, необходимой для выполнения потока.

Кроме того, в контекст включается указатель стека, который определяет адрес стека" принадлежащего потоку. Получить сведения о текущем состоянии регистров процессора. можно с помощью функции:

BOOL GetThreadContext (HANDLE hThread, PCONTEXT pContext);

В программе (результатах) это выглядит так:

CONTEXT ct; ct. ContextFlags = (CONTEXT_FULL);

if (!GetThreadContext (hThread, &ct)) {return FALSE; }.

Контекст первого потока.

Рисунок 2 — Контекст первого потока.

Создание потока

Для создания потока используется функция CreateThread. В программе поток 1 создается следующим образом:

hThread1 = CreateThread (NULL, 0, First_Thread, hDlg, CREATE_SUSPENDED, &Id1);

Как и при работе с функцией CreateProcess, для многих параметров можно задавать значения по умолчанию (@ или NULL). Третий параметр не может иметь значение по умолчанию, ему всегда передается адрес функции потока. Четвертый параметр часто используется для организации взаимосвязи вызывающего потока с дочерним потоком. При каждом вызове функции CreateThread система создает объект ядра «поток» с начальным значением счетчика его пользователей, равным единице. Система выделяет память под стек потока из адресного пространства процесса. Новый поток выполняется в адресном пространстве того же процесса, что и родительский поток.

Показать весь текст
Заполнить форму текущей работой