Конференция "Прочее" » WaitableTimer vs Sleep
 
  • DVM © (01.04.16 11:17) [20]

    > KSergey ©   (01.04.16 10:56) [19]


    > По условиям задачи нам надо заснуть ан все 50 дней без прерывания
    > сна.

    По условиям какой задачи? Придуманной? В жизни так не бывает, так бывает только в теории.
    Всегда может понадобиться перезагрузка службы, которая 50 дней чего то ждет и что в этом случае ее надо будет прибивать что ли с потерей данных?
    Использующих Sleep для ожидания интервалов времени длиннее секунды - надо гнать как профнепригодных. Да и для малых интервалов есть более надежные, точные решения.
  • KSergey © (01.04.16 12:14) [21]
    > есть более надежные,

    В чем ненадёжность Sleep()?
  • DVM © (01.04.16 12:55) [22]

    > В чем ненадёжность Sleep()?

    В низкой разрешающей способности. В отсутствии вообще каких-либо гарантий выдерживания малых интервалов. Конечно, можно пытаться улучшить разрешающую способность путем вызова timeBeginPeriod(), но этот костыль нельзя применять на постоянной основе, т.к. это может пагубно отразиться на многих вещах, таких как часы и прочее. Но не это главное. Sleep - это не функция для ожидания временных интервалов, ее назначение - другое - заставлять поток отказываться от выделенного ему процессорного времени, что не одно и то же. Для ожидания в Windows есть таймеры и функции ожидания.

    Более подробно о ее недостатках тут:
    https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms686298(v=vs.85).aspx
  • KSergey © (01.04.16 13:14) [23]
    Ненадёжность-то в чем?
    Она что, не всегда работает?

    Я таки останусь при своём мнении,что для "заснуть на 50 дней" - Sleep отлично подходит. Заметьте, не "подождать чего-то", а "заснуть на 50 дней".

    В любом случае было познавательно, спасибо.
  • Inovet © (01.04.16 18:43) [24]
    > [23] KSergey ©   (01.04.16 13:14)
    > "заснуть на 50 дней" - Sleep отлично подходит

    Спасибо за общение, но от себя маленько поправлю: отдать другим своё бесполезное время на 50 дней.:)
 
Конференция "Прочее" » WaitableTimer vs Sleep
Есть новые Нет новых   [134434   +27][b:0][p:0]