Приложение Heavy Load C # зависает при активации события мыши - PullRequest
0 голосов
/ 09 января 2010

В моем приложении на C # есть таймер, который запускает событие каждые 100 миллисекунд. Внутри этого события есть обработчик приема для шинного трафика, который непрерывно повторяется до тех пор, пока буфер приема не опустеет или не пройдет еще 100 миллисекунд. Это работает нормально, пока я не попытаюсь использовать один из других элементов управления в моем приложении во время выполнения. Затем приложение зависает. У кого-нибудь есть идеи, как я могу разделить свое приложение (или иным образом изменить его), чтобы при попытке использовать элемент управления фоновое событие (привязанное к таймеру) могло продолжать работать и не останавливать приложение? Я использую Microsoft Visual C # 2008 Express Edition. Спасибо.

1 Ответ

3 голосов
/ 09 января 2010

Вы должны использовать BackgroundWorker (или эквивалентную конструкцию) для обработчика получения. Таким образом, он будет работать в другом потоке, и форма сможет своевременно отвечать, и вам не понадобится таймер в цикле.

...