Вниз
Скачать: CL | DM;

Очередность выполнения обработчиков событий от таймера?   Найти похожие ветки 

 
Back   (2003-05-27 09:36) [0]

У меня такой вопросик. Если во время выполнения одного обработчика события поступившего от таймера поступает еще один сигнал от таймера, как и когда начинается его обработка? (после окончания выполнения предыдущего обработчика, в отдельном потоке, или прерывается работа текущего обработчика)?
Заранее благодарен за ответ.


 
Digitman ©   (2003-05-27 09:59) [1]

это зависит от конкретного алгоритма в теле обработчика события таймера

единственное, что можно сказать однозначно - никаких дополнительных потоков для обработки нет и быть не может : обработчик в любом случае вызывается и выполняется в том код.потоке, который вызвал ф-цию SetTimer()


 
pasha676   (2003-05-27 10:12) [2]

Насколько я понимаю событийно ориентированную систему:

Таймер посылает мессагу. Мессага становиться в очередь. Как до нее дойдет время она обрабатывается.
В процессе работы программы если выполняется одна процедура (допустим на евент 1-го таймера) и произошло событие 2-го таймера, то пока первая не выполниться, событие в очереди просто не будет обрабатываться.
Конечно Digiman правильно сказал. Существуют еще вещи типа процесс мессаге - и если например они будут в обработчике - это может повлиять на ход программы.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.013 c
6-13357
UfoManager
2003-04-03 19:01
2003.06.05
Работа с IE


1-13236
Vitalik
2003-05-27 14:04
2003.06.05
class


14-13429
Style
2003-05-19 09:49
2003.06.05
DelphiChallenge: Завершен 1-й тур соревнований.


3-13060
BackStabber
2003-05-16 16:32
2003.06.05
Восстановление базы InterBase


7-13490
Tenrai
2003-04-04 04:59
2003.06.05
SetWindowsHookEx() или как отловить нажатие клавиши




   Наверх