В однопоточном консольном приложении люди часто используют Thread.Sleep
как ленивый способ приостановить приложение на некоторое время.
Этот вопрос поднял интересные моменты относительно НЕ использования этого подхода: Почему Thread.Sleep так вреден а>
Однако, кроме того, что я знаю, что Sleep блокирует текущий поток, я не понимаю, как это работает - например, он максимально использует ядро ЦП в жестком цикле или фактически приостанавливает поток?
Что еще более важно для меня, как консольное приложение реагирует на различные сценарии выхода из приложения (CTRL-C, kill, кнопка закрытия окна), когда оно застряло в середине сна? Будет ли он слепо продолжать выполнение, пока ОС не убьет его принудительно, или он будет вести себя хорошо?
Sleep
говорится, что функция Sleep - приостанавливает выполнение текущего потока до тех пор, пока не истечет интервал времени ожидания (msdn.microsoft.com/en-us/library/ windows / desktop /) Не могли бы вы пояснить это в ответе? - person Mr. Boy   schedule 06.06.2016