Некорректная работа функции Sleep в цикле while

Стальное Перо

При вызове из цикла do - while, sleep срабатывает только один раз. А как сделать, чтобы между итерациями была пауза? Для примера:
                
do {
Sleep(10);
}while(level_map.find_void_pole() == true);
Функция level_map.find_void_pole() вычисляется работает столько, сколько нужно. А вот пауза от функции Sleep происходит только в первом проходе.
5 ответов

Стальное Перо

Насколько я помню время задается в миллисекундах(или нет?). 10 мс? Сколько времени нужно было для паузы? Попробуйте Sleep_for


Стальное Перо

Стальное Перо, а как Вы определили, что установленной задержки в 10 мс не происходит?


Стальное Перо

Я пробовал ставить больший интервал, но тогда программа просто виснет. Т.е. даже значение в 150 тормозит её наглухо. При малых значениях работает, но некорректно.Элементарно. Первое вычисление цикла происходит около 3-х секунд, а все последующие практически мгновенно.


Стальное Перо

Первое вычисление цикла происходит около 3-х секунд
У Вас задержка 10 мс. Откуда 3 с берется?


Стальное Перо

Стальное Перо, 3с это и есть общая задержка у вас цикл значит сработал 300 операций)