Lo he visto mencionado en varios lugares en contextos como el modelo de actor Erlang, actores Groovy, modelo de actor Scala, etc. ¿A qué se refiere esto?¿Qué es el modelo de actor en el contexto de un lenguaje de programación?
Respuesta
creo Wikipedia lo resume mejor:
El modelo Actor adopta la filosofía de que todo es un actor. Esto es similar a que todo es una filosofía de objetos utilizada por algunos lenguajes de programación orientados a objetos, pero difiere en que el software orientado a objetos se suele ejecutar secuencialmente, mientras que el modelo Actor es intrínsecamente concurrente. [snip] El modelo Actor es sobre la semántica del paso de mensajes.
Hace algún tiempo escribí this blog post que explica los conceptos básicos del modelo y construye una implementación básica con JavaScript. De la publicación:
En Actor Model, un actor es la base sobre la que construye la estructura de su aplicación, tiene un estado interno invisible para el mundo exterior e interactúa con otros actores a través de mensajes asincrónicos.
Si esto te parece mucho a Programación Orientada a Objetos (OOP), tienes razón. El Modelo de Actor se puede considerar como OOP con un tratamiento especial para los mensajes: se entregan de forma asíncrona y el receptor los ejecuta sincrónicamente.
Cada actor se identifica con una dirección única mediante la cual le envía mensajes. Cuando se procesa un mensaje, se compara con el comportamiento actual del actor; que no es más que una función que define las acciones a tomar en reacción al mensaje. En respuesta a un mensaje, un actor puede:
- Crear más actores.
- Enviar mensajes a otros actores.
- Designe el estado interno para manejar el siguiente mensaje.
- 1. ¿El modelo de productor/consumidor es igual de actor?
- 2. ¿Qué es un lenguaje de programación formal?
- 3. es el modelo de actor limitado a idiomas específicos?
- 4. Modelo de actor para reemplazar el modelo de roscado?
- 5. ¿El modelo de seda y actor es esencialmente equivalente?
- 6. ¿Cuál es la diferencia del Actor de Akka con el Actor de Scala modelo
- 7. use zeromq para implementar el modelo de actor
- 8. ¿Qué biblioteca/marco modelo Actor para Java?
- 9. ¿XSLT es un lenguaje de programación funcional?
- 10. Windows: ¿Qué lenguaje de programación?
- 11. ¿Cuáles son las debilidades en el uso del modelo Immutability + Actor para la programación de simultaneidad?
- 12. ¿cuál es el mejor lenguaje de programación para el selenio?
- 13. ¿Cuándo se debe usar el modelo Actor?
- 14. ¿Qt 4 es un lenguaje de programación?
- 15. ¿En qué idioma está escrito el lenguaje de programación Go?
- 16. ¿Qué significa "compensación" en el contexto de la programación?
- 17. ¿Cuál es el propósito del lenguaje de programación Scala?
- 18. ¿Cómo se implementaría el 'Modelo' en una aplicación web Rails en un lenguaje de programación funcional?
- 19. CMS en el lenguaje de programación funcional
- 20. ¿Hay un lenguaje de programación donde cada función se ejecuta esencialmente como un actor separado?
- 21. Referencia de patrón canónico en el modelo de programación Actors
- 22. ¿Qué es una metáfora en el contexto de XP?
- 23. ¿Para qué es el lenguaje M?
- 24. ¿Cuál es el lenguaje de programación más conciso?
- 25. modelo de actor y detección de colisiones
- 26. ¿Qué características de lenguaje se requieren en un lenguaje de programación para hacer un compilador?
- 27. lenguaje de programación independiente del modelo de validación
- 28. ¿Por qué elegirías el lenguaje de programación Java sobre otros?
- 29. UML para el lenguaje de programación C
- 30. ¿Qué significa ser bueno en un lenguaje de programación?