Использование функции 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.

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

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

7
задан Marco A. 12 February 2014 в 10:56
поделиться