Схема реактора объяснена в Википедии , и это слишком абстрактно. Можете ли вы описать эту закономерность более конкретно? В идеале с фрагментами кода или высокоуровневыми диаграммами классов, описывающими некоторые применения паттерна реактора.
design-patterns
Eleco
источник
источник
Ответы:
Вы можете проверить исходный документ с его описанием http://www.dre.vanderbilt.edu/~schmidt/PDF/reactor-siemens.pdf
источник
Реактор позволяет эффективно обрабатывать несколько задач, которые блокируются (скажем, из-за ввода-вывода), используя один поток. Реактор управляет пулом обработчиков и запускает цикл событий. Когда его вызывают для выполнения задачи, он связывает его с новым или свободным обработчиком, делая его активным. Цикл событий (1) находит все активные и разблокированные обработчики (или делегирует это реализации диспетчера) (2) последовательно выполняет каждый из этих найденных обработчиков, пока они не завершатся или не достигнут точки, где они блокируются. Завершенные обработчики становятся неактивными и свободными для повторного использования, тогда как заблокированные активные обработчики уступают место, позволяя продолжить цикл событий. (3) Повторяется с шага (1).
источник