Je cherchais dans la programmation simultanée dans les langages de programmation Erlang and Go. Selon ma conclusion, ils sont utilisés respectivement modèle Acteur et CSP.
Mais je suis toujours confus avec quelles sont les différences objectives entre CSP et Acteurs? est-ce seulement théorique différent mais le même concept?
Réponses:
En pratique, il y a très peu de différence: les deux représentent des unités d'exécution distinctes dont l' interface principale avec le monde extérieur se fait via des messages.
Les différences résident dans les détails d'implémentation des langues. Voici quelques détails de ce type:
receive
tout est envoyé au processus et doit correspondre au modèle (dans Go, vous utiliseriez unselect
avec plusieurs cas, donc le code serait très similaire, juste avec différents canaux).Ce dernier point est, je pense, le plus important. Alors que les deux utilisent les messages comme principal moyen de communication, Erlang offre des garanties beaucoup plus solides sur la manière et le moment où l'état peut changer.
la source