Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нужна функция ожидания 
V
    Опции темы
Wolf1994
Дата 8.4.2009, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: нет
Всего: 29



Можно ли в C++ остановить выполнение программы на произвольное время?

Пока получилось только это:
Код

bool mywait (int secs)
{
 bool done=false;
 double dif;
 time_t start, end;

 time (&start);
 while (done!=true)
 {
  time (&end);
  dif=difftime (end, start);
  if (dif>=secs)
   done=true;
 }
 return true;
}

Функция останавливает программу, но продолжает потреблять ресурсы компьютера. Можно ли остановить программу, разгрузив процессор?
PM MAIL WWW   Вверх
Lazin
Дата 8.4.2009, 22:16 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 27
Всего: 154



да, для этого есть таймеры, нужно создать таймер и в зависимости от того, как он создан, либо ждать оконное сообщение, либо ждать ф-ей WaitForSingleObject, либо ждать на порте завершения, но это в случае если программа должна работать в windows...
PM MAIL Skype GTalk   Вверх
GoldFinch
Дата 8.4.2009, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 6
Всего: 26



kernel32.Sleep()
PM MAIL ICQ   Вверх
Lazin
Дата 8.4.2009, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 27
Всего: 154



ах да, в win32 еще есть ф-я Sleep, которая усыляет вызвавший поток на N милисекунд
PM MAIL Skype GTalk   Вверх
CrazYOne
Дата 9.4.2009, 00:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 4.1.2008

Репутация: нет
Всего: нет



Да вроди как есть delay()....
Или она только в С??  
PM MAIL ICQ Skype   Вверх
J0ker
Дата 9.4.2009, 08:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 986
Регистрация: 17.9.2008

Репутация: 9
Всего: 14



универсальный способ
Код

timeval t = {sec, usec}; // sec - секунды, usec - микросекунды
select(0, NULL, NULL NULL, &t);



--------------------
user posted image
PM MAIL   Вверх
Cheloveck
Дата 9.4.2009, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

Репутация: 5
Всего: 32



Цитата

kernel32.Sleep() 


Да, и ещё есть sleep() в UNIX, находится в unistd.h. Для полноты картины.


--------------------
user posted image
PM Jabber   Вверх
Wolf1994
Дата 9.4.2009, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: нет
Всего: 29



Всем спасибо!

Выбрал вариант со Sleep ().

Вопрос решён.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0581 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.