Асинхронная обработка данных - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, Есть задача получения максимального быстродействия при обработке данных. Данные представляют собой строки вида key, param_1, ... , param_n Обрабатывать данные одного ключа нужно синхронно. Собственно, вопросов два 1. Как организовать синхронную обработку внутри асинхронной 2. Как все сделать с максимальным быстродействием Заранее спасибо
Давайте спрошу более конкретно Пусть такие данные: 1. key1, object1 2. key2, object2 3. key1, object3 4. key1, object4 5. key1, object5 Пытаюсь обработать их так
switch (key)
{
key1:
  Thread t1 = new Thread(Handler1);
  t1.Start(object);
  break;
key2:
  Thread t2 = new Thread(Handler2);
   t2.Start(object);
   break;
}
Если ключевые поля разные (строки 1 и 2), то все быстро (параллельно) обрабатывается. Но для строк данных 3, 4 и 5 Handler1 может работать одновременно и придется потом долго разбираться с очередностью прихода object3, 4, 5. Может есть какие-то более правильные схемы?

Решение задачи: «Асинхронная обработка данных»

textual
Листинг программы
ThreadPool.QueueUserWorkItem(new WaitCallback(ProcessFile), threadInfo);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5
Похожие ответы