Обработка событий - 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;
}
}