Le modèle du réacteur est expliqué dans wikipedia , et c'est un peu trop abstrait. Pouvez-vous décrire ce modèle de manière plus concrète? Idéalement avec des extraits de code ou des diagrammes de classe de haut niveau décrivant certaines applications du modèle de réacteur.
Vous voudrez peut-être vérifier le document original le décrivant http://www.dre.vanderbilt.edu/~schmidt/PDF/reactor-siemens.pdf
Le modèle de conception Reactor gère les demandes de service qui sont livrées simultanément à une application par un ou plusieurs clients. Chaque service dans une application peut consister en plusieurs méthodes et est représenté par un gestionnaire d'événements distinct qui est responsable de l'envoi des demandes spécifiques au service. La répartition des gestionnaires d'événements est effectuée par un répartiteur d'initiation, qui gère les gestionnaires d'événements enregistrés. Le démultiplexage des demandes de service est effectué par un démultiplexeur d'événements synchrones.
Un réacteur permet de traiter efficacement plusieurs tâches bloquant (par exemple en raison d'E/S) à l'aide d'un seul thread. Le réacteur gère un pool de gestionnaires et exécute une boucle d'événements. Lorsqu'il est appelé pour effectuer une tâche, il la relie à un gestionnaire nouveau ou vacant, ce qui la rend active. La boucle d'événements (1) trouve tous les gestionnaires actifs et débloqués (ou les délègue à une implémentation de répartiteur) (2) exécute chacun de ces gestionnaires trouvés séquentiellement jusqu'à ce qu'ils se terminent ou atteignent un point où ils se bloquent. Les gestionnaires terminés deviennent inactifs et vacants pour être réutilisés tandis que les gestionnaires actifs bloqués cèdent, permettant à la boucle d'événement de continuer. (3) Répète à partir de l'étape (1)