Функция
SleepФункция
Sleep приостанавливает работу по выполнению текущего потока на заданный промежуток времени.Чтобы войти в настороженное состояние ожидания, используйте функцию
SleepEx.Синтаксис
Sleep(
); |
Параметры
dwMilliseconds
[in] Минимальный интервал времени, в миллисекундах, на которое приостанавливается выполняемая работа.
Значение нуль заставляет поток оставить остаток своего кванта машинного времени любому другому потоку равного приоритета, который является готовым к запуску. Если нет никаких других потоков равного приоритета, готовых к запуску, функция немедленно возвращает значение и поток продолжает выполнение.
Значение БЕСКОНЕЧНО (
INFINITE) вызывает бесконечную задержку.Возвращаемые значения
Эта функция не возвращает значений.
Замечания
Эта функция заставляет поток оставить остаток своего кванта машинного времени и стать не запускаемым, по меньшей мере, заданное число миллисекунд, по истечению которых поток становится готовым запуститься. В частности если Вы задаете нуль миллисекунд, поток оставит остаток своего кванта машинного времени, но останется готовым.
Обратите внимание! на то, что готовность потока к работе не гарантирует немедленного запуска. Следовательно, поток не может запускаться какое-то время, после того, как заданный промежуток времени истек. Для получения дополнительной информации, см. статью Приоритеты обслуживания. |
Вы должны быть внимательными при использовании функции
Sleep и кода, который прямо или косвенно создает окно. Если поток создает какие-либо окна, он должен обрабатывать сообщения. Циркулярное сообщение отправляется всем окнам в системе. Если Вы имеете поток, который использует функцию Sleep с бесконечной задержкой, система зайдет в тупик. Два примера кода, которые косвенно создают окна - это динамический обмен данными (DDE) и модель многокомпонентных объектов (COM) CoInitialize. Поэтому, если Вы имеете поток, который создает окна, используйте MsgWaitForMultipleObjects или MsgWaitForMultipleObjectsEx, а не Sleep.Код примера
Пример смотри в статье
Использование локальной памяти потока.Смотри также
Краткий обзор Процессы и потоки, Функции, используемые процессами и потоками, MsgWaitForMultipleObjects, MsgWaitForMultipleObjectsEx, SleepEx
Размещение и совместимость Sleep |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да версии 3.1 и выше |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Используемая библиотека |
Kernel32.lib |
Заголовочный файл |
|
- объявлено в |
Winbase.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |