Паттерн для СИСТЕМ параллельной обработки ?
От: Nikolay_P_I  
Дата: 18.09.11 20:18
Оценка:
Подскажите пожалуйста — что из велосипедов уже наработано людьми в области систем параллельной обработки ?

Полностью асинхронная модель не интересует — интересует что-то вроде данные из входной очереди приходят с в выходную уходят.
Впрочем — очереди тоже с вариантами — вход или выход можно асинхронный.
К сожалению в примерах, на которые натыкался — максимум рекомендации использовать вместо Thread.Abort какой Task.CancellationToken

А хочется посмотреть — как народ реализует Terminate (приложение срубают — кто не успел освободить ресурсы — сам виноват), Gracial Shootdown (ждут до завершения обработки данных в буферах), Timed Shutdown (ждут не более N секунда, потом срубают), Clear ReInitialization (смена параметров, алгоритмов и поставщиков данных при пустых очередях), Dirty ReInitialization (то же при том, что в данный момент что-то обрабатывается — и что же потом делать с результатом), фатальные для всей системы Exception, фатальные для 1 потока Exception, зависание обработки (как отслеживать и что с этим делать) и прочее, что есть в реальной жизни.

Есть, конечно, свои наработки и они работают у заказчика, но хотелось-бы узнать — а как такое делать ПРАВИЛЬНО ?
thread; task; parallel pattern real life
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.