Использование функции Sleep ()

Это образец pgm для проверки функциональности функции Sleep (). Это только демонстрационная версия, поскольку я использую функции sleep () и clock () в моем приложении.

  // TestTicks.cpp : Defines the entry point for the console application.
  //

  #include "stdafx.h"
  #include<iostream>
  #include<iomanip>
  #include <Windows.h>

  int _tmain(int argc, _TCHAR* argv[])
  {
    int i, i2;
    i = clock();
    //std::cout<<" \nTime before Sleep() : "<<i;
    Sleep(30000);
    i2 = clock();
    //std::cout<<" \nTime After Sleep() : "<<i2;
    std::cout<<"\n Diff : "<<i2 -i;
    getchar();
      return 0;
  }

В этом коде я рассчитываю время с помощью clock () до и после функции сна. Поскольку я использую sleep (30000), разница во времени будет не менее 30000.

Я запускал этот prgm много раз. и напечатанный вывод как 30000, 30001, 30002. Это нормально. Но иногда я получаю значения, такие как 29999 и 29997. Как это возможно, так как я поставил 30000 сна ч / б часы ().

Пожалуйста, дайте мне причину этого.

Ответы на вопрос(4)

Ваш ответ на вопрос