Por ejemplo estos dos mensajes terminan el proceso:
vendeDor(PrecioArticulo, CompradorActual, VentasLogradas) -> receive {despedido, Jefe } -> Jefe ! {enCurso, self(), CompradorActual }, adios; {jubilado, Jefe } -> Jefe ! {enCurso, self(), CompradorActual }, graciasADios end.
La siguiente pregunta es:
¿Qué sucede si hay una actualización del módulo "vendedor"? ¿Se detiene todo para poderlo online?
Lo mejor sería reemplazar el código "in-runtime" (en caliente), finalizando las operaciones pendientes usando el código antiguo y atendiendo las nuevas con el más reciente. (En Erlang existe y es un tema avanzado, se llama "release handling".)
Estos dos conceptos implican una entidad superior que lo controla todo. Obviamente se trata de un principio de diseño llamado árbol de supervisión compuesto por trabajadores y supervisores.
Espero con esto haber despertado un poco de interes en esta tecnología.
Viene de: Parábola del actor y del objeto.
Relacionados:
Erlang: Programación funcional y concurrente.
Mapeo de actores a objetos.
No hay comentarios:
Publicar un comentario