Возможно ли, чтобы событие Windows и событие таймера Windows выполнялись повторно? - PullRequest
0 голосов
/ 12 мая 2011

У меня есть метод «Обновить», который выполняется в обработчике событий (нажатие кнопки) и в Windows формирует обратный вызов таймера.Возможно ли одновременное выполнение двух «обновлений» (повторных входов)?То есть, пока выполняется обратный вызов таймера (вызывая метод Update), пользователь нажимает кнопку, и обработчик щелчков выполняет Update.

Или это тот случай, когда два метода Update полностью сериализованы, поскольку оба выполняются в потоке пользовательского интерфейса.

Или это тот случай, когда Update может поместить поток в какой-то вид«Alertable Wait» (мне не очень понятно по этому поводу), и обработчик кликов мог выполнить как APC?

Вы видите, я полностью запутался в этом ...

Любые объяснения будут высоко оценены!

1 Ответ

0 голосов
/ 12 мая 2011

Это зависит от вида используемого таймера: тот, который выполняется в основном потоке пользовательского интерфейса ( System.Windows.Forms.Timer - повторный вход невозможен) или тот, который выполняется в своем собственном потоке ( System.Threading.Timer - возможен повторный вход).

...