Функция
SuspendThreadФункция
SuspendThread приостанавливает работу заданного потока.Синтаксис
SuspendThread(
); |
Параметры
hThread
[in] Дескриптор потока, работа которого приостанавливается.
Windows NT/2000/XP: Дескриптор должен иметь право доступа
THREAD_SUSPEND_RESUME. Для получения дополнительной информации, см. статью Защита потока и права доступа.Возвращаемые значения
Если функция завершается успешно, величина возвращаемого значения - счет времени предыдущей приостановки работы потока; иначе, оно равно - (минус) 1. Чтобы получить дополнительные данные об ошибках, используйте функцию
GetLastError.Замечания
Если функция завершается успешно, выполнение заданного потока приостанавливается, а счет времени приостановки работы потока увеличивается. Приостановка потока заставляет его прекратить выполнять код (приложение) в непривилегированном (пользовательском) режиме.
Эта функция, прежде всего, разработана для использования отладчиками. Она не предназначена использоваться для синхронизации потока. Вызов функции
SuspendThread потоком, который имеет объект синхронизации, типа мьютекса (флажка блокировки) или критической секции, может привести к тупиковой ситуации, если вызывающий поток пробует получить объект синхронизации, принадлежащий приостановленному потоку. Чтобы избежать этой ситуации, поток в пределах прикладной программы, которое не является отладчиком, должен подать сигнал другому потоку, что приостановил себя. Целевой поток должен быть разработан, чтобы наблюдать за этим сигналом и соответственно реагировать.Каждый поток имеет счет времени приостановки работы (с максимальным значением
MAXIMUM_SUSPEND_COUNT). Если счет времени приостановки больше чем нуль, поток приостанавливается; иначе, поток не приостанавливается и имеет право на исполнение кода. Вызов функции SuspendThread заставляет увеличить счет времени приостановки намеченного потока. Попытка увеличить его за пределы максимального счета времени приостановки вызывает ошибку без увеличения счета.Функция
ResumeThread уменьшает счет времени приостановки работы замороженного потока.Смотри также
Краткий обзор Процессы и потоки, Функции, используемые процессами и потоками, OpenThread, ResumeThread
Размещение и совместимость SuspendThread |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да версии 3.1 и выше |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Используемая библиотека |
Kernel32.lib |
Заголовочный файл |
|
- объявлено в |
Winbase.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |