Обработка событий - C#
Формулировка задачи:
Есть событие. Есть метод-обработчик события, в котором полученные данные обрабатываются и результат пишется в файл.
Подскажите пожалуйста, если во время обработки данных опять произойдет событие, оно будет проигнорировано?
Неужели никто не знает? Просто обработка занимает около 0.1с, и при высокой частоте событий вроде бы теряются данные.
Решение задачи: «Обработка событий»
textual
Листинг программы
- private void bw_DoWork(object sender, DoWorkEventArgs e)
- {
- DataContainer data = (DataContainer)e.Argument;
- for (int Nmb = 1; Nmb < 5; Nmb++)
- {
- //...что-то считаем...
- System.Threading.Thread.Sleep(25);
- }
- using (StreamWriter sw = new StreamWriter("d:\\log.txt ", true, System.Text.Encoding.Default))
- {
- sw.WriteLine(stroka);
- }
- }
- private void OnEvent(object sender, MyEventEventArgs args) //вызывается несколько раз в секунду
- {
- //...считаем мин и макс...
- Count++;
- if (минута прошла)
- {
- bw.RunWorkerAsync(data);
- Count = 1;
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д