The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"таймеры... и много"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"таймеры... и много"
Сообщение от vvk emailИскать по авторуВ закладки on 28-Фев-03, 21:14  (MSK)
вот такой вопрос. я использую setitimer. Но я так понимаю таким образом можно только один таймер установить? Или много? Тогда как это сделать? Или какой еще есть способ установить периодический таймер?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: таймеры... и много"
Сообщение от vvk emailИскать по авторуВ закладки on 28-Фев-03, 21:38  (MSK)
ну вообще задача такая, что есть класс, и надо навесить два таймера, чтобы один вызывал один метод класса, а другой другой. Вот...
Может кто знает оптимальный вариант. а то мне что то не удалось навесить метод класса на setitimer, поэтому приходиться перебиваться статическими методами, которые находят окно и посылают ему сообщение. Может в xlib-e какие особые таймеры есть?


  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: таймеры... и много"
Сообщение от sas emailИскать по авторуВ закладки on 01-Мрт-03, 06:39  (MSK)
>ну вообще задача такая, что есть класс, и надо навесить два таймера,
>чтобы один вызывал один метод класса, а другой другой. Вот...
>Может кто знает оптимальный вариант. а то мне что то не удалось
>навесить метод класса на setitimer, поэтому приходиться перебиваться статическими методами, которые
>находят окно и посылают ему сообщение. Может в xlib-e какие особые
>таймеры есть?

http://216.239.51.100/search?q=cache:572XqKPvNUAC:www.cs.virginia.edu/c++programdesign/slides/ppt/chap10.ppt+c+++timer+callback&hl=en&ie=UTF-8

А вообще нечто подобное обсуждалось в начале прошлой осени (конец августа или сентябрь если не ошибаюсь) Поищите в архиве

Успехов
--- sas

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "RE: таймеры... и много"
Сообщение от vvk emailИскать по авторуВ закладки on 03-Мрт-03, 12:49  (MSK)
по форуму поищу конечно... но по этой ссылке какие то EzWindows... а мне бы пока только xlib-ом обойтись.

>http://216.239.51.100/search?q=cache:572XqKPvNUAC:www.cs.virginia.edu/c++programdesign/slides/ppt/chap10.ppt+c+++timer+callback&hl=en&ie=UTF-8
>
>А вообще нечто подобное обсуждалось в начале прошлой осени (конец августа или
>сентябрь если не ошибаюсь) Поищите в архиве
>
>Успехов
>--- sas


  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "RE: таймеры... и много"
Сообщение от sas emailИскать по авторуВ закладки on 03-Мрт-03, 15:28  (MSK)
>по форуму поищу конечно... но по этой ссылке какие то EzWindows... а
>мне бы пока только xlib-ом обойтись.
>
>>http://216.239.51.100/search?q=cache:572XqKPvNUAC:www.cs.virginia.edu/c++programdesign/slides/ppt/chap10.ppt+c+++timer+callback&hl=en&ie=UTF-8
>>
>>А вообще нечто подобное обсуждалось в начале прошлой осени (конец августа или
>>сентябрь если не ошибаюсь) Поищите в архиве
>>
>>Успехов
>>--- sas

Так принципы решения те же самые
Коротко говоря первое что приходит на ум

класс Таймер - один на всех который тикает с наименьшим возможным тиком

Классы потребители регистрируются в классе Таймер и говорят когда им нужно чтобы их вазавали

Таймер на каждом тике проверяет все зарегистрированные классы потребители если текущее время больше либо равно тому, когда потребитель просил его дернуть он вычисляет следующее время и дергает и тд в цикле

Описание очень примитивное , но это и нужно

Насколько я проглядел статью по ссылке там система callback и рассмотрена

Успехов
--- sas

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "RE: таймеры... и много"
Сообщение от vvk emailИскать по авторуВ закладки on 03-Мрт-03, 16:44  (MSK)
о! супер! спасибо. как то даже не подумал, что все можно запихать в один таймер. может так и сделаю.
Еще правда хотел посмотреть XtAppAddTimeout, но твой вариант даже интереснее в том плане, что оба таймера работают вместе, поэтому если выработался главный таймер, второй (мелкий) уже не сработает. В то время как в случае с XtAppAddTimeout с некоторой долей вероятности может сработать лишний раз, пока после timeout-а главного сообщение еще находится в очереди обработки окна.

>класс Таймер - один на всех который тикает с наименьшим возможным тиком
>
>
>Классы потребители регистрируются в классе Таймер и говорят когда им нужно чтобы
>их вазавали
>
>Таймер на каждом тике проверяет все зарегистрированные классы потребители если текущее время
>больше либо равно тому, когда потребитель просил его дернуть он вычисляет
>следующее время и дергает и тд в цикле
>
>Описание очень примитивное , но это и нужно
>
>Насколько я проглядел статью по ссылке там система callback и рассмотрена
>
>Успехов
>--- sas


  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру