Асинхронная обработка данных - C#
Формулировка задачи:
Здравствуйте,
Есть задача получения максимального быстродействия при обработке данных. Данные представляют собой строки вида
key, param_1, ... , param_n
Обрабатывать данные одного ключа нужно синхронно.
Собственно, вопросов два
1. Как организовать синхронную обработку внутри асинхронной
2. Как все сделать с максимальным быстродействием
Заранее спасибо
Если ключевые поля разные (строки 1 и 2), то все быстро (параллельно) обрабатывается. Но для строк данных 3, 4 и 5 Handler1 может работать одновременно и придется потом долго разбираться с очередностью прихода object3, 4, 5.
Может есть какие-то более правильные схемы?
Давайте спрошу более конкретно
Пусть такие данные:
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; }
Решение задачи: «Асинхронная обработка данных»
textual
Листинг программы
ThreadPool.QueueUserWorkItem(new WaitCallback(ProcessFile), threadInfo);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д