Форум программистов, компьютерный форум CyberForum.ru

5 СПОСОБОВ задержки времени: Что скажете? - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 135, средняя оценка - 4.73
OVERPOWER8
 Аватар для OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224
17.12.2009, 20:38     5 СПОСОБОВ задержки времени: Что скажете? #1
В Linux работают 100%, в Windows не проверял, но тоже должны работать.

1. используя nanosleep:

Код
#include <iostream>



using namespace std;



int msleep(unsigned long milisec)  

{  

	struct timespec req={0};  

	time_t sec=(int)(milisec/1000);  

	milisec=milisec-(sec*1000);  

	req.tv_sec=sec;  

	req.tv_nsec=milisec*1000000L;  

	while(nanosleep(&req,&req)==-1)  

		continue;  

	return 1;  

}  



int main()

{

	cout << "Testing nanosleep: waiting 5 secs\n";

	msleep(5000);

	cout << "That is it";

}
2. используя usleep:

Код
#include <iostream>

#include <time.h> 



using namespace std;



void Sleep(float s)

{

	int sec = int(s*1000000);

	usleep(sec);

}



int main ()

{

	cout << "Waiting 5 secs\n";

	Sleep(5);

	printf ("FIRE!!!\n");

  return 0;

}
3. используя CLOCKS_PER_SEC:

Код
#include <iostream>

#include <time.h> 



void wait ( int seconds )

{

  clock_t endwait;

  endwait = clock () + seconds * CLOCKS_PER_SEC ;

  while (clock() < endwait) {}

}



int main ()

{

  int n;

  printf ("Starting countdown...\n");

  for (n=10; n>0; n--)

  {

    printf ("%d\n",n);

    wait (1);

  }

  printf ("FIRE!!!\n");

  return 0;

}
4. используя sleep:

Код
#include <iostream>

#include <time.h>



using namespace std;



int main()

{

	cout << "SomeAction\n";

	cout << endl;

	sleep(1);				// seconds

	cout << "NextAction\n";

	return 0;

}
5. используя sleep:

Код
#include <iostream>

#include <time.h>



using namespace std;



int main()

{

	cout << "SomeAction\n";

	cout.flush();

	sleep(1);				// seconds

	cout << "NextAction\n";

	return 0;

}
Собственно вопрос: как вы считаете, все ли они акуратны и какой из них самый предпочтительный (в плане точности)?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
14.05.2011, 14:52     5 СПОСОБОВ задержки времени: Что скажете?
  #21

Не по теме:

niXman, Сейчас это реально ведь. Юнити мать его.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.05.2011, 18:13     5 СПОСОБОВ задержки времени: Что скажете?
Еще ссылки по теме:

Задержки клавиатуры Windows C++
Определение задержки между посылками COM C++
Задержки в Sleep C++
Библиотека BASS (un4seen): возможна ли обработка звука в реальном времени без существенной задержки? C++ Builder
Функция задержки времени C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Kastaneda
14.05.2011, 18:13     5 СПОСОБОВ задержки времени: Что скажете?
  #22

Не по теме:

ForEveR, посмотри на дату постов) камрад absokolov зачем-то тему поднял, может весна...

Yandex
Объявления
14.05.2011, 18:13     5 СПОСОБОВ задержки времени: Что скажете?
Ответ Создать тему

Метки
таймеры
Опции темы

Текущее время: 05:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru