Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

C++ таймер

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
C-R
Гость





СообщениеДобавлено: Пн Апр 26 2004 17:45    Заголовок сообщения: C++ таймер Ответить с цитатой

Помогите начинающему, плз! Подскажите, как сделать таймер под Win32 Console Application Embarassed
Вернуться к началу
Andy_user



Зарегистрирован: 03.12.2003
Сообщения: 382
Откуда: Санкт-Петербург

СообщениеДобавлено: Вт Апр 27 2004 10:38    Заголовок сообщения: Ответить с цитатой

Создайте еще один поток, функция которого должна периодически засыпать на 1 мс, просыпаться, анализировать некий список, проверять истечение времени для каждого элемента списка и выполнять действие (например, изменять соответствующую переменную в списке), если интервал времени для этого элемента истек.
Этот список (список взведенных таймеров) формирует основной поток.
Обратите внимание на синхронизацию доступа к этому списку со стороны двух асинхронных потоков. Это можно организовать, например, с помощью критических секций.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
C-R
Гость





СообщениеДобавлено: Вт Апр 27 2004 12:35    Заголовок сообщения: Ответить с цитатой

Shocked А попроще объяснить сможешь? Все, что мне нужно сделать - небольшую задержку (1-3с) перед запуском следующей функции. Я бы сделал циклом, но это совсем уж по-ламерски, да и задержка будет разная на разных машинах
Вернуться к началу
Andy_user



Зарегистрирован: 03.12.2003
Сообщения: 382
Откуда: Санкт-Петербург

СообщениеДобавлено: Вт Апр 27 2004 13:04    Заголовок сообщения: Ответить с цитатой

Тогда, уважаемый, выражайтесь яснее...
Таймер и задержка - почувствуйте разницу.
Функция
Sleep(1000) ; // Задержка 1 секунда
Sleep(3000) ; // Задержка 3 секунды
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
droopy
Гость





СообщениеДобавлено: Вт Апр 27 2004 13:13    Заголовок сообщения: Ответить с цитатой

тогда тебе таймер вообще не нужен. используй time.h
Код:

void delay( time_t t, double d )
{
    time_t tt;
    do
    {
        time( &tt );
    } while( difftime( tt, t ) < d );
}

int main()
{
    time_t t;
    time( &t );
    delay( t, 3 );
    struct tm *tt;
    tt = localtime( &t );
    cout << tt->tm_hour;
   
}

Вернуться к началу
droopy
Гость





СообщениеДобавлено: Вт Апр 27 2004 13:19    Заголовок сообщения: Ответить с цитатой

Мой вариант хоть и громоздкий. Зато кроссплатформенный.
Используется не более чем стандарт с.
Вернуться к началу
C-R
Гость





СообщениеДобавлено: Вт Апр 27 2004 13:35    Заголовок сообщения: Ответить с цитатой

Всем спасибо, уважаемые! Very Happy Благодаря вам курсовая наконец-то будет закончена Wink
Вернуться к началу
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...