LONG InterlockedExchangeAdd(
PLONG plAddend, // указатель напеременнуютипа LONG,
// к которой нужен атомарный доступ
LONG lIncrement // добавляемое значение
130. Interlocked-функции. Функция заменяет содержимое переменной новым значением?
LONG InterlockedExchange(
PLONG plTarget, // указательнапеременнуютипа LONG,
// к которой нужен атомарный доступ
LONG lValue // новое значение
);
LONG InterlockedExchangePointer(
PVOID* ppvTarget, // указатель на указатель на переменную типа
LONG,
// к которой нужен атомарный доступ
PVOID pvValue // новое значение
);
131. Interlocked-функции. Функция выполняет операции атомарного сравнения и замены значения переменной?
LONG InterlockedCompareExchange(
PLONG plDestination, // указательнапеременную
LONG lExchange, // новое значение
LONG lComparand // значение для сравнения
);
LONG InterlockedCompareExchangePointer(
PVOID* plDestination, // указатель на указатель на переменную
PVOID lExchange, // указатель на новое значение
PVOID lComparand // указатель на значение для сравнения
);
132. Критическая секция должна быть инициализирована при помощи функции?
InitializeCriticalSection
133. Для входа в критическую секцию потоки используют функцию?
EnterCriticalSection
134. По завершении работы с разделяемыми данными поток выходит изкритической секции при помощи функции?
LeaveCriticalSection
135. После использования критической секции она должна быть уничтожена вызовом функции?
DeleteCriticalSection
136. Функция … предпринимает попытку войти вкритическую секцию без блокировки?
TryEnterCriticalSection
137. К синхронизирующим объектам ядра относятся: 1)процесс 2)поток 3)задание 4)файл 5)консольный ввод 6)уведомление об изменении файла 7)событие 8)ожидаемый таймер 9)семафор и мьютекс?
????????????????????????
138. Синхронизирующий объект ядра может находиться в одном из двухсостояний?
- свободное (signaledstate);
- занятое (non-signaledstate).
139. ФункцияWaitForMultipleObjects. Параметр DWORD nCount?
DWORDnCount, // количество синхр-х объектов
Максимальное количество синхронизирующих объектов определено
Константой MAX_WAIT_OBJECTS, равной 64.
140. ФункцияWaitForMultipleObjects. Параметр CONST HANDLE *lpHandles?
Массив описателей объектов
141. ФункцияWaitForMultipleObjects. Параметр BOOL bWaitAll?
Вариант ожидани явсех объектов
Если параметр bWaitAll равен значению TRUE, функция ожидает
Перехода в свободное состояние всех синхронизирующих объектов.
142. Функция WaitForMultipleObjects. Параметр DWORD dwMilliseconds?
Максимальное время ожидания
143. ФункцияCreateEvent. Параметр LPSECURITY_ATTRIBUTES lpEventAttributes?
Атрибуты безопасности
144. ФункцияCreateEvent. Параметр BOOL bManualReset?
Тип события
145. ФункцияCreateEvent. Параметр BOOL bInitialState?
Начальноесостояние
146. Событие создается функцией?
CreateEvent
147. Если создано поименованное событие, далее можно получить его описатель при помощи функции?
OpenEvent.
148. Функция … устанавливает в свободное состояние?
SetEvent
149. Функция … устанавливает занятое состояние события?
ResetEvent
150. Функция OpenEvent. Параметр DWORD dwDesiredAccess?
Требуемый доступ
151. Функция OpenEvent. Параметр BOOL bInheritHandle?
Возможность наследования описателя
152. Ожидаемый таймер создается функцией?
CreateWaitableTimer
153. Для получения описателя существующего ожидаемого таймераможно использовать функцию?
OpenWaitableTimer
154. Для установки времени переходаожидаемого таймера в свободное состояние используется функция?
SetWaitableTimer.
155. Функция … устанавливает занятое состояние ожидаемого таймера?
??
HANDLE CancelWaitableTimer (HANDLE Timer);
156. ФункцияSetWaitableTimer.Параметр HANDLE hTimer?
Описатель
ФункцияSetWaitableTimer.Параметрconst LARGE_INTEGER *pDueTime?