Здравствуйте, eao197, Вы писали:
E>Мое мнение состоит в том, что если для извлечения во время receive уже полученных агентом сообщений не обеспечивается ФИФО, то реализация целого ряда задач (управление оборудованием, например) будет крайне затруднена. И в таких условиях невыгодно заниматься проектированием в предположении об отсутствии ФИФО.
Только совсем не обязательно при этом делать только ФИФО механику. Подобные задачки неплохо решаются при помощи обсуждаемых рядом фьючерсов — зависимость задач (сообщений) друг от друга задается наличием возвращаемого значения.
В более общем случае подобные ситуации разруливаются при помощи continuations. Если на пальцах, то к задаче (сообщению) по необходимости привязывается некий предикат, который определяет, может задача выполнится, или нет. При помощи такой механики можно строить сколь угодно хитрые цепочки зависимостей, и только там, где нужно.
... << RSDN@Home 1.2.0 alpha 4 rev. 1127 on Windows Vista 6.0.6001.65536>>