Good practice по алгоритмизации в условиях асинхронности
От: sergunok  
Дата: 18.08.10 05:57
Оценка:
Недавно пришлось столкнуться с написанием алгоритма в условиях асинхронности появления входных данных.

Задача заключалось в написании на C# простенького торгового робота, входные данные — биржевые тики, изменения статусов заявок и т.п. —
поступали в мои подписчики на соответствующие события библиотеки, поставляющей данные.

Честно говоря, оказалось чертовски сложно перекладывать простейшую логику алгоритма на подобную асинхронность.
Некоторые с виду атомарные шаги алгоритма растягивались на появление нескольких событий.
Пришлось городить нечто вроде огромного конечного автомата.
Кстати еще было нужно мочь сериализовывать текущее состояние обработки и потом его восстанавливать.

Не поделитесь способами моделирования и технологиями реализации подобных задач?

У меня были мысли про цепочки коллбеков, вспомнился Twisted Framework..

Но реализовывать нечто подобное на базе C# event'ов и делегатов я пока не решился.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.