Простое объяснение "модели реактора" с ее приложениями [закрыто]


схема реактора объясняется в Википедия, а это слишком абстрактно. Можете ли вы описать эту модель более конкретно? В идеале с фрагментами кода или высокоуровневыми диаграммами классов, описывающими некоторые приложения шаблона реактора.

2 75

2 ответа:

вы, возможно, захотите, чтобы проверить оригинальный документ с описанием его http://www.cs.wustl.edu/~Шмидт/формат PDF/реактор-Сименс.формат PDF

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

реактор позволяет эффективно обрабатывать несколько задач, которые блокируют (скажем, из-за IO), используя один поток. Реактор управляет пулом обработчиков и запускает цикл событий. Когда он вызывается для выполнения задачи, он связывает его с новым или вакантным обработчиком, делая его активным. Цикл событий (1) находит все обработчики, которые активны и разблокированы (или делегирует это реализации диспетчера) (2) выполняет каждый из этих найденных обработчиков последовательно, пока они не завершат или не достигнут точка, где они блокируют. Завершенные обработчики становятся неактивными и свободными для повторного использования, тогда как заблокированные активные обработчики дают результат, позволяя циклу событий продолжаться. (3) повторяется с шага (1)