O padrão do reator é explicado na wikipedia e é um pouco abstrato. Você pode descrever esse padrão de uma forma mais concreta? Idealmente, com fragmentos de código ou diagramas de classe de alto nível que descrevem algumas aplicações do padrão de reator.
design-patterns
Eleco
fonte
fonte
Respostas:
Você pode querer verificar o artigo original que o descreve http://www.dre.vanderbilt.edu/~schmidt/PDF/reactor-siemens.pdf
fonte
Um reator permite que várias tarefas que bloqueiam (digamos devido a IO) sejam processadas de forma eficiente usando um único thread. O reator gerencia um pool de manipuladores e executa um loop de eventos. Quando é chamado para executar uma tarefa, ele o vincula a um manipulador novo ou vazio, tornando-o ativo. O loop de evento (1) encontra todos os manipuladores que estão ativos e desbloqueados (ou delega isso a uma implementação de despachante) (2) executa cada um desses manipuladores encontrados sequencialmente até que sejam concluídos ou cheguem a um ponto em que sejam bloqueados. Os manipuladores concluídos tornam-se inativos e vazios para reutilização, enquanto os manipuladores ativos bloqueados se rendem, permitindo que o loop de eventos continue. (3) Repete a partir da etapa (1)
fonte