Вниз
Скачать: 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
7-13495
Жук
2003-04-02 16:12
2003.06.05
Закрытие программы


3-13001
VadimS
2003-05-19 15:02
2003.06.05
Невозможно изменить значение текущего поля


3-13045
Silver_
2003-05-16 16:46
2003.06.05
нельзя редактировать Detail5ADODataSet 5-го(!) уровня почему?


1-13251
Вячеслав Белкин
2003-05-21 14:20
2003.06.05
Как вызвать SetLength из процедуры на ассемблере


4-13508
DVM
2003-04-07 10:15
2003.06.05
Посоветуйте как можно еще оптимизировать кусок кода




   Наверх