Définition
Modèle de calcul concurrent où des entités indépendantes appelées acteurs encapsulent un état local, communiquent uniquement par envoi asynchrone de messages, peuvent créer de nouveaux acteurs et définir le comportement pour les messages futurs ; dans le modèle abstrait il n'y a pas d'état mutable partagé entre acteurs.

Principe

Principe
La concurrence émerge de la localité et de la messagerie asynchrone : chaque acteur traite les messages de manière séquentielle dans son propre contexte, de sorte que la concurrence au niveau du système provient de nombreux acteurs s'exécutant indépendamment et n'interagissant que par envoi de messages et création d'acteurs.

Démonstration

Démonstration
Un service web peut être modélisé par un acteur superviseur recevant des requêtes entrantes, engendrant un acteur travailleur par requête qui la traite et renvoie une réponse ; les défaillances peuvent être isolées par des stratégies de supervision qui redémarrent ou remplacent des enfants défaillants sans coordination par mémoire partagée.

Mauvaise application

Mauvaise application
Traiter les acteurs comme des threads légers avec variables mutables partagées, supposer une livraison synchrone des messages ou des garanties d'ordre global au‑delà de ce que spécifie le système d'acteurs, ou concevoir des systèmes reposant sur une consistance immédiate de boîtes aux lettres distribuées sans coordination explicite.

Conséquence

Conséquence
Une application correcte du modèle d'acteurs produit des conceptions avec forte localité, scalabilité, isolation des fautes et distribution naturelle ; il favorise la consistance éventuelle, les architectures pilotées par messages et la composition via création d'acteurs et hiérarchies de supervision.

Inversion

Inversion
Les modèles multithreading à mémoire partagée exposent un état mutable partagé avec verrouillages ou opérations atomiques, impliquant d'autres préoccupations de synchronisation ; les modèles synchrones de type CSP exigent une communication par rendez‑vous plutôt que par messages asynchrones.

Limite

Limite
Le modèle des acteurs est un modèle de calcul abstrait ; il ne garantit pas en soi l'ordre de livraison, la rapidité, la persistance ou la sémantique « une seule fois » — ces propriétés sont fournies par des implémentations ou protocoles spécifiques. Le modèle abstrait omet le planificateur, l'implémentation des boîtes aux lettres et les pannes réseau sauf indication contraire.

Tension sémantique

Tension sémantique
Tension entre le modèle des acteurs et d'autres modèles de concurrence (mémoire partagée, CSP, dataflow) ; tension également entre le modèle abstrait (sans état partagé) et les frameworks pragmatiques qui enrichissent les acteurs de futures, réceptions bloquantes ou stockage partagé implicite.

Synthèse

Synthèse
Le modèle des acteurs est un paradigme concurrent asynchrone et orienté messages où des acteurs isolés encapsulent l'état, n'interagissent que par envoi de messages et création d'acteurs, permettant des conceptions scalables, distribuées et tolérantes aux pannes.