![]() |
![]() |
Kabbalah 27.04.2004 - 08:54 |
Всем привет! Коллеги, помогите найти решение! Задача ставится так - есть некоторая вычислитедльная процедура, достаточно медленная, которую нужно применять к нескольким каналам поступающих данных, причем желательно чтобы небыло простоев в обработке. Какую технологию использовать? Самому писать сервер или ипользовать имеющийся? Где можно почитать про реализацию подобной обработки? Может можно обойтись простой dll реализовав очередь пакетов, многопоточную обработку и разделяемую память для взаимодействия между процессами? Или стоит задуматься над реализацией .NET сервиса wellknown singleton? Кто делал что-либо подобное - поделитесь опытом?!! |
VaS 1 - 27.04.2004 - 15:14 | По потоку на канал. Если каналов много (>100 скажем), то заводим очередь для данных, из которой фиксированное кол-во потоков забирают и обрабатывают эти данные. Все это дело, естесственно, синхронизируем. |
Bronya 2 - 27.04.2004 - 17:25 | Если большая нагрузка сразу планируется, то лучше обработку не делать как сервер. Лучше сервером пусть будет диспетчер каналов, у которого "обработки" будут брать задания и возвращать результат. Таким образом не будет простоев при большом количестве пакетов и обработки можно запускать хоть в целой сети машин! |