Encontré que también hay un modelo de actor Akka, así que me pregunto ¿cuál es la diferencia entre el Actor de Akka y el modelo Actor de Scala?¿Cuál es la diferencia del Actor de Akka con el Actor de Scala modelo
Respuesta
Bueno, no hay. Solo existe el modelo Actor, y los actores Akka y los actores Scala son dos implementaciones de ese modelo.
Todo el modelo de actor dice que sus primitivas de concurrencia son actores, lo que puede:
recibir un mensaje y decidir qué hacer a continuación en función del contenido del mensaje, incluyendo:
envío mensajes a los actores que saben sobre
crear nuevos actores
y proporciona ciertas garantías, por ejemplo:
cualquier actor sólo manejar un único mensaje a la vez
mensajes enviados por el actor X con el actor Y llegarán en el parecían orden fueron enviados
No hay diferencia entre los actores de Scala y Akka en este nivel.
Para las diferencias en lo que pueden hacer, vea Different Scala Actor Implementations Overview. El más grande, para mí, es que Akka apoya a los supervisores y ActorRegistry.
Parece que el PDF de comparación vinculado por la respuesta aceptada ya no está disponible. Aquí hay una comparación de uno de los desarrolladores de Akka: http://akka.io/docs/misc/Comparison_between_4_actor_frameworks.pdf – Frank
Su enlace es 404 también. Esto está funcionando actualmente: http://doc.akka.io/docs/misc/Comparison_between_4_actor_frameworks.pdf –
Esto depende un poco de lo que quiere decir con "modelo" - puede consultar el "modelo de ejecución" o el "modelo de programación" (y quizás también otros modelos).
Para los modelos de ejecución, hay básicamente dos: basado en hilo o basado en eventos. La biblioteca de actores estándar de Scala contiene ambos. El hilo basado en utiliza un hilo para cada actor, mientras que el basado en eventos utiliza un grupo de hilos. El primero es más intuitivo de entender, el último es más eficiente. Akka se basa en el modelo basado en eventos.
Para el modelo de programación, existe una gran diferencia entre la biblioteca estándar Scala y Akka. En la biblioteca estándar de scala, básicamente implementa el método "ejecutar", y si desea esperar un mensaje entrante, se pone en estado de espera (llamando a "recibir" o "reaccionar"). Entonces, el modelo de programación sigue la "metáfora de hilos". Sin embargo, en Akka, la metáfora de la programación es que se implementan algunos métodos de ciclo de vida, pero el método "ejecutar" se escribe dentro del marco. Realmente resulta que este modelo de programación funciona mucho mejor con el modelo de ejecución basado en eventos también.
Si está interesado en los diferentes modelos de ejecución y modelos de programación de los actores estándar scala, he escrito afewposts sobre el tema.
También hay una respuesta histórica. Los creadores de Scala pensaron que debería haber un marco de actor. Jonas Bonér lo probó, pero no estaba completamente satisfecho, así que comenzó a trabajar en uno nuevo, que se convirtió en Akka.Sin embargo, la gente de Scala pensó que era mejor que la suya, por lo que en Jfokus 2011 anunciaron que Akka se convertiría en el marco de actor estándar de Scala. Sin embargo, esa migración llevará algún tiempo.
Sí, la biblioteca de Scala Actors ya está en desuso en 2.11 http://docs.scala-lang.org/overviews/core/actors -migration-guide.html – anshumans
- 1. mensaje de error con Scala AKKA Actor
- 2. Usar singletons en akka scala actor
- 3. Akka Actor "preguntar" y "aguardan" con TimeoutException
- 4. Descubrimiento de servidor de actor remoto Akka
- 5. ¿Cómo configuro la tolerancia a fallas del Akka Actor?
- 6. Comprobando si Akka actor remoto está disponible
- 7. simple Scala pregunta el actor
- 8. Singleton Scala actor?
- 9. Akka y construido en Scala Actores: ¿Cuál es la diferencia para el uso local?
- 10. Diferentes implementaciones de Scala Actor Descripción
- 11. es el modelo de actor limitado a idiomas específicos?
- 12. ¿El modelo de seda y actor es esencialmente equivalente?
- 13. ¿Cuándo se debe usar el modelo Actor?
- 14. Buen libro sobre la biblioteca de Akka y el modelo de simultaneidad basado en el actor
- 15. ¿El modelo de productor/consumidor es igual de actor?
- 16. Scala 2.8 ¿Documento de diseño del actor? ¿Documento de diseño de Akka?
- 17. a scala remote actor excepción
- 18. modelo de actor y detección de colisiones
- 19. Scala, compruebe si Actor ha salido de
- 20. Diferencia entre Kahn Process Network y Actor Modelo
- 21. Manejar Akka buzón delimitado por el actor MessageQueueAppendFailedException
- 22. Akka - ¿Cuántas instancias de un actor debería crear?
- 23. ¿Cómo se espera que termine el sistema Akka actor?
- 24. Modelo de actor para reemplazar el modelo de roscado?
- 25. ¿Cómo puedo activar adecuadamente a un actor temporal en Akka?
- 26. ¿Cómo puede un actor akka interactuar entre hilos?
- 27. hay alguna biblioteca de red Scala con el modelo de actor
- 28. ¿Qué biblioteca/marco modelo Actor para Java?
- 29. cómo obtener el tamaño de la cola de mensajes de un actor de Akka?
- 30. Rendimiento de transmisión de mensajes en Actor modelo
Ver [¿Cuál es la diferencia entre la implementación de diferentes actores en Scala?] (Http://stackoverflow.com/q/5997018/53013) –
Los actores de Scala ahora están en desuso en favor de los actores de Akka, entonces ¿para qué molestarse? :) http://goo.gl/VaPOu –